1. 程式人生 > >MySQL 常用賬戶管理及授權操作

MySQL 常用賬戶管理及授權操作

適用: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