适用: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";
更多细节请参考官方文档: