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 | 服務器 | 沒有權限 |