侧边栏壁纸
  • 累计撰写 54 篇文章
  • 累计创建 23 个标签
  • 累计收到 27 条评论

MySQL用户管理全面指南:创建、授权、修改与删除用户

heshaohua
2025-04-22 / 0 评论 / 0 点赞 / 11 阅读 / 523 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2025-04-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

最简单(全部赋权)

# 创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'mypassword';
# 赋权所有
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
# 刷新权限
FLUSH PRIVILEGES;

1.创建mysql用户

1.1 新建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'mypassword';

参数

  • username:需要被创建的用户名称
  • host:指定登陆主机,“localhost”=>本地, “%”=>标识允许任意远程主机
  • mypassword:用户登陆密码,建议复杂点

for example:

CREATE USER 'dbmanager'@'%' IDENTIFIED BY '123abc';

1.2 查询用户信息

select * from mysql.`user`

2.授权用户

GRANT privileges ON databasename.tablename TO 'username'@'host'

参数

  • privileges:用户的操作权限:insertselectupdate等,所有权限使用ALL
  • databasename:指定可以操作的数据库,通配符“*”表示所有库
  • tablename:指定可以操作的数据表,通配符“*”表示所有表
  • host:指定主机可以登录,localhost:表示本地用户可用,%:通配符表示允许任意远程主机登陆

2.1 指定数据库和表赋权

示例1:
授权给xianpm用户tc数据库的tb_user数据表的查询和插入操作

GRANT SELECT, INSERT ON db.t_user TO 'dbmanager'@'%';

2.2 赋予全部权限

授权dbmanager用户可以操作所有权限

GRANT ALL ON *.* TO 'dbmanager'@'%';

2.3 查看用户权限

show grants for 'dbmanager';

2.4 回收用户权限

revoke privileges on DBNAME[.TABLENAME] from username;

2.5 收回用户数据库的所有权限

revoke all privileges on *.* from username;

3. 修改用户密码

use mysql;
select * from user;
update user set password = password('New@PassWord') where user = 'username';

4. 删除用户

如果直接从数据库delete删除用户,再次创建该用户时会报错

CREATE USER 'dbmanager'@'%' IDENTIFIED BY '123abc'
> 1025 - Operation CREATE USER failed for 'dbmanager'@'%'
> 时间: 0.01s

因此删除用户需要使用以下命令

drop user 'dbmanager'@'%';

5. 刷新权限(务必执行)

FLUSH PRIVILEGES;
0

评论区