本文介绍MySQL权限的基本操作。
授权
MySQL用户包括user和host两部分。
user与host是一起出现的,即权限指的是某个用户在某个主机或某些主机上的权限。
首先,创建用户:
mysql> CREATE USER 'root'@'%' IDENTIFIED by 'mysql123456';
接着,授权权限:
mysql> GRANT ALL on *.* to 'root'@'%';
Query OK, 0 rows affected (0.00 sec)
具体权限,是指某个DB下某个table的权限。
这里授权'root'@'%'
操作所有DB所有tabe的权限。
查看授权
查看'root'@'%'的授权:
mysql> show grants for 'root'@'%';
+-------------------------------------------------------------+
| Grants for root@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+
1 row in set (0.00 sec)
或者
mysql> select password('mysql123456');
+-------------------------------------------+
| password('mysql123456') |
+-------------------------------------------+
| *CAAA3AD851D5FFA9E5BDB96CA06F73633A3BA831 |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*CAAA3AD851D5FFA9E5BDB96CA06F73633A3BA831';
实际上,创建用户后,用户权限保存到用户权限表mysql.user
中,在这个表中,密码是经过password()
函数转化后的格式存储的。
查看授权用户
mysql> select * from mysql.user;
查看指定用户
mysql> select * from mysql.user where user='root'\G
*************************** 1. row ***************************
Host: localhost
User: root
... ...
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *xxx
password_expired: N
password_last_changed: 2018-10-10 14:42:12
password_lifetime: NULL
account_locked: N
*************************** 2. row ***************************
Host: %
User: root
... ...
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: xxx
password_expired: N
password_last_changed: 2018-10-10 14:47:32
password_lifetime: NULL
account_locked: N
2 rows in set (0.01 sec)
撤销权限
撤销某个用户的授权:
REVOKE ALL on orchestrator.* FROM 'orchestrator_server'@'10.23.211.199';
删除用户:
delete from mysql.user where user='orchestrator_server' and host='10.23.211.199' ;
flush privileges ;
Just try, don't shy.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现