創建用戶
USE mysql; #創建用戶需要操作 mysql 表
# 語法格式為 [@'host'] host 為 'localhost' 表示本地登錄用戶,host 為 IP地址或 IP 地址區間,表示指定IP地址的主機可登錄,host 為 "%",表示所有主機都可登錄,省略代表所有主機
CREATE USER 'username'[@'host'] IDENTIFIED BY 'password';
# eg. 常見 local_user 用戶可以在所有主機登錄,密碼為 123456
CREATE USER 'local_user' IDENTIFIED BY '123456';
# eg. 創建 local_user 只允許在本地登錄
CREATE USER 'local_user'@'localhost' IDENTIFIED BY '123456';
查看用戶權限
# 可以通過查詢 user 表獲取 語法格式為
SELECT privileges|* FROM user WHERE `user` = 'username';
# eg. 查看 local_user 的權限
SELECT * FROM user WHERE `user` = 'local_user';
# 也可以用 SHOW GRANTS 查看
SHOW GRANTS FOR 'username' [@host];
# eg.
SHOW GRANTS FOR local_user;
賦予用戶權限
# 語法格式
GRANT privileges ON database.table TO 'username'@'host' [IDENTIFIED BY 'password'];
# eg. 賦予 local_user 在所有主機的所有權限,但不包含給其他賬號賦予權限的權限
GRANT all ON *.* TO 'local_user'@'%';
# 刷新權限 權限更新后刷新才會起作用
FLUSH PRIVILEGES;
賦予 replication 權限
grant REPLICATION CLIENT ON *.* TO repl_user;