前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql用户、授权

mysql用户、授权

作者头像
阿超
发布2022-08-21 13:08:19
3.7K0
发布2022-08-21 13:08:19
举报
文章被收录于专栏:快乐阿超快乐阿超

官方文档:

https://dev.mysql.com/doc/refman/8.0/en/assigning-passwords.html

创建用户

代码语言:javascript
复制
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';

修改密码

代码语言:javascript
复制
ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';

匿名用户登录,修改自身密码

代码语言:javascript
复制
ALTER USER USER() IDENTIFIED BY 'password';

使用[mysqladmin[1]](https://dev.mysql.com/doc/refman/8.0/en/mysqladmin.html)修改密码

代码语言:javascript
复制
mysqladmin -u user_name -h host_name password "password"

注意修改失效时检查用户使用的检验plugin

代码语言:javascript
复制
use mysql;
select user,host,authentication_string,plugin from user;
-- plugin需要改成 mysql_native_password (auth_socket不行)

注意我们上方使用的账户名称语法为:

代码语言:javascript
复制
'用户名'@'主机名'

主机名用于限制连接的ip

并且@'主机名'这一部分是可选的,默认为@'%',我们甚至可以指定ip范围和网关

代码语言:javascript
复制
CREATE USER 'david'@'198.51.100.0/255.255.255.0';

修改用户主机名可以执行sql

代码语言:javascript
复制
-- 允许root远程访问
use mysql;
UPDATE user SET host = '%' WHERE user = 'root';

AlTER USER文档:https://dev.mysql.com/doc/refman/8.0/en/alter-user.html

重命名用户:https://dev.mysql.com/doc/refman/8.0/en/rename-user.html

代码语言:javascript
复制
RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';

权限:

https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html

刷新权限的sqlhttps://dev.mysql.com/doc/refman/8.0/en/flush.html#flush-privileges

代码语言:javascript
复制
-- 从MySQL系统授权表中重新读取权限
FLUSH PRIVILEGES;

常用的授权sql命令为GRANT

https://dev.mysql.com/doc/refman/8.0/en/grant.html

代码语言:javascript
复制
-- 赋予'someuser'@'somehost'所有数据库的所有权限
GRANT ALL ON *.* TO 'someuser'@'somehost';
GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'somehost';
-- 赋予'someuser'@'somehost'数据库为test的所有权限
GRANT ALL ON test.* TO 'someuser'@'somehost';

然后是REVOKE撤销权限:语法上和GRANT相同

https://dev.mysql.com/doc/refman/8.0/en/revoke.html

代码语言:javascript
复制
-- 如果指定的权限或角色或用户存在,移除他的SELECT权限
REVOKE SELECT ON test.t1 FROM jerry@localhost IGNORE UNKNOWN USER;

注意移除权限并不会移除用户,删除用户可以用DROP USER:

https://dev.mysql.com/doc/refman/8.0/en/drop-user.html

代码语言:javascript
复制
-- 删除'jeffrey'@'localhost'用户
DROP USER 'jeffrey'@'localhost';

我们更改权限后可以执行FLUSH PRIVILEGES;立即生效

  1. mysql提供的工具 ↩︎
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档