一、權(quán)限語法格式:
添加權(quán)限:
grant 權(quán)限列表
on 庫名
to 用戶名@"客戶端地址"
identified by “密碼”;用戶名:客戶端連接數(shù)據(jù)庫服務(wù)使用的用戶
密碼 :密碼大于等于8個(gè)字符并包涵數(shù)字大小寫字母符號(hào)查看權(quán)限:
show grants for
用戶名@"客戶端地址";修改密碼:
set password for
用戶名@"客戶端地址"=password("新密碼");撤銷權(quán)限(刪除用戶權(quán)限) :
REVOKE 權(quán)限列表
ON 庫名
FROM 用戶名@"客戶端地址";刪除用戶
drop user
用戶名@"客戶端地址";
二、權(quán)限列表表示方式:
| 權(quán)限列表 | 說明 |
|---|---|
| ALL | 所有權(quán)限 (表示所有命令) |
| USAGE | 無權(quán)限 (除了查看之外啥權(quán)限都沒有 , 看的命令show desc select ) |
| 具體命令(select...) | 個(gè)別權(quán)限 |
| 具體命令 (表頭名1,表頭名2,……) | 僅對(duì)指定表頭有訪問權(quán)限 |
三、權(quán)限的具體命令:
| 命令 | 權(quán)限 |
|---|---|
| SELECT | 查看表記錄 |
| INSERT | 插入表記錄 |
| UPDATE | 更新表記錄 |
| DELETE | 刪除表記錄 |
| INDEX | 索引的創(chuàng)建和刪除 |
| CREATE | 建庫、表 |
| ALTER | 修改表 |
| DROP | 刪除庫表視圖索引 |
| SHOW DATABASES | 查看已有的庫 |
| REFERENCES | 創(chuàng)建外鍵 |
| RELOAD | 可以執(zhí)行flush [tables | logs | privileges] |
| PROCESS | 執(zhí)行SHOW PROCESSLIST 和KILL命令 |
| FILE | 導(dǎo)入數(shù)據(jù) |
| SUPER | 可以使用CHANGE MASTER,PURGE MASTER LOGS,SET,終止查詢 |
| SHUTDOWN | 停止mysql服務(wù) |
| EXECUTE | 調(diào)用函數(shù)、存儲(chǔ)過程 |
| ---- | --- |
| CREATE USER | 創(chuàng)建用戶 |
| EVENT | 可以管理定時(shí)任務(wù) |
| TRIGGER | 可以管理觸發(fā)器 |
| CREATE TABLESPACE | 創(chuàng)建表空間 |
| CREATE TEMPORARY TABLES | 創(chuàng)建臨時(shí)表 |
| ALTER ROUTINE | 修改函數(shù)、存儲(chǔ)過程 |
| LOCK TABLES | 對(duì)加鎖和解鎖 |
| CREATE ROUTINE | 創(chuàng)建函數(shù)、存儲(chǔ)過程 |
| REPLICATION SLAVE | 讀取主服務(wù)器二進(jìn)制日志 |
| REPLICATION CLIENT | 查看主/從服務(wù)器狀態(tài) |
| CREATE VIEW | 創(chuàng)建視圖 |
| SHOW VIEW | 查看視圖 |
四、庫名表示方式:
| 表示方式 | 說明 |
|---|---|
| *.* | 所有庫所有表 |
| 庫名.* | 一個(gè)庫下的所有表 |
| 庫名.表名 | 一張表 |
客戶端地址:
| 表示方式 | 說明 |
|---|---|
| % | 表示網(wǎng)絡(luò)中的所有主機(jī) |
| 192.168.88.% | 表示 192.168.88網(wǎng)段內(nèi)的所有主機(jī) |
| 192.168.88.1 | 表示僅僅是192.168.88.1 一臺(tái)主機(jī) |
| localhost | 表示數(shù)據(jù)庫服務(wù)器本機(jī) |
五、用戶數(shù)據(jù)存儲(chǔ)地址:
- 所有權(quán)限保存在mysql庫的user表里
mysql> grant all on *.*
to root@"%" identified by "123qqq…A" ;
mysql> select * from mysql.user where user="root" and host="%" \G
*************************** 1. row ***************************
Host: %
User: root
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: N
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *956B1802D8FA2C0D5B7E92CAA8964A49D7E70E15
password_expired: N
password_last_changed: 2022-12-27 11:05:53
password_lifetime: NULL
account_locked: N
1 row in set (0.00 sec)
- 添加的用戶保存在mysql庫的user表里
select host , user from mysql.user;
+---------------+-----------+
| host | user |
+---------------+-----------+
| % | root |
| 192.168.88.% | admin3 |
| 192.168.88.51 | admin2 |
| localhost | admin |
| localhost | mysql.sys |
| localhost | root |
+---------------+-----------+
6 rows in set (0.00 sec)