MySQL 常用账户管理及授权操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gulang03/article/details/85994635

适用:Mysql5.7 系列,Mysql的权限控制可以做到很细(具体到表的列),不过 咱 不做 DBA,故只列出常用的基本操作。

辅助操作:

# 刷新数据到硬盘【及永久存储】
FLUSH PRIVILEGES;

# 查看账户 account 的权限
SHOW GRANTS FOR 'account'@'%';

# 查询表(user)结构
SHOW COLUMNS FROM user;

# 查询 mysql 已有账户信息
SELECT user, host, plugin, authentication_string from user;

1.创建账户

# 创建新账户 account 为账户名,host 为主机
CREATE USER 'account'@'host' IDENTIFIED WITH mysql_native_password BY 'password';

# host 形式参考:
# 1. '%' 表示所有主机都可以访问【要开启远程访问,可能还需要修改 MySQL 配置文件 中的 # bind-address】
# 2. *.example.com
# 3. 192.168.10.11

2.账户授权

# 权限 ALL: SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 等
# 1. 授权用户 'account'@'%' 操作数据库 db_name.user 表的全部操作权限
  GRANT ALL ON db_name.`user` TO 'account'@'%';

# 2. 授权用户 'account'@'%' 操作数据库 db_name.* 中所有 TABLE、FUNCTION 、PROCEDURE 的所有操作权限
  GRANT ALL ON db_name.* TO 'account'@'%';

3.取消授权

# 1.撤销用户 account 所有权限
REVOKE ALL PRIVILEGES, GRANT OPTION FROM account;
# 2.撤销用户 account 对 db_name.user 表的插入权限
REVOKE INSERT ON TABLE db_name.user FROM account;

4.删除账户

# 删除账户 account
DELETE FROM user WHERE user="account";

更多细节请参考官方文档:

https://dev.mysql.com/doc/refman/5.7/en/security.html

猜你喜欢

转载自blog.csdn.net/gulang03/article/details/85994635