1、創建用戶
sql> use mysql;
sql> create user 'Ruthless'@'%' identified by '123456';
注意:Ruthless -> 新增的用戶名,123456 -> 用戶密碼,%表示任何IP都可訪問
2、給用戶授權
sql> grant select,insert,update,delete,create,index,alter on *.* to Ruthless;
sql> flush privileges;
3、修改密碼,同時允許遠程登錄
sql> use mysql;
sql> alter user 'Ruthless'@'%' identified with mysql_native_password by 'aaaaaa';
sql> flush privileges;
注意:%表示任何IP都可訪問
4、取消授權
revoke 跟 grant 的語法差不多,只需要把關鍵字 “to” 換成 “from” 即可:
sql> revoke select on *.* from 'Ruthless'@'%';
sql> flush privileges;
5、刪除用戶
sql> drop user 'Ruthless'@'%';
sql> flush privileges;
6、查看用戶權限
查看當前用戶權限:
sql> show grants;
查看其它用戶權限:
sql> show grants for 'Ruthless'@'%';
7、用戶重命名
sql> rename user 'Ruthless'@'%' to 'Lynch'@'%';
8、刷新權限
sql> flush privileges;
9、MySQL權限列表
| 權 限 | 作用范圍 | 作 用 |
|---|---|---|
| all | 服務器 | 所有權限 |
| select | 表、列 | 選擇行 |
| insert | 表、列 | 插入行 |
| update | 表、列 | 更新行 |
| delete | 表 | 刪除行 |
| create | 數據庫、表、索引 | 創建 |
| drop | 數據庫、表、視圖 | 刪除 |
| reload | 服務器 | 允許使用flush語句 |
| shutdown | 服務器 | 關閉服務 |
| process | 服務器 | 查看線程信息 |
| file | 服務器 | 文件操作 |
| grant option | 數據庫、表、存儲過程 | 授權 |
| references | 數據庫、表 | 外鍵約束的父表 |
| index | 表 | 創建/刪除索引 |
| alter | 表 | 修改表結構 |
| show databases | 服務器 | 查看數據庫名稱 |
| super | 服務器 | 超級權限 |
| create temporary tables | 表 | 創建臨時表 |
| lock tables | 數據庫 | 鎖表 |
| execute | 存儲過程 | 執行 |
| replication client | 服務器 | 允許查看主/從/二進制日志狀態 |
| replication slave | 服務器 | 主從復制 |
| create view | 視圖 | 創建視圖 |
| show view | 視圖 | 查看視圖 |
| create routine | 存儲過程 | 創建存儲過程 |
| alter routine | 存儲過程 | 修改/刪除存儲過程 |
| create user | 服務器 | 創建用戶 |
| event | 數據庫 | 創建/更改/刪除/查看事件 |
| trigger | 表 | 觸發器 |
| create tablespace | 服務器 | 創建/更改/刪除表空間/日志文件 |
| proxy | 服務器 | 代理成為其它用戶 |
| usage | 服務器 | 沒有權限 |
