mysql有關權限的表都有哪幾個
一、關于MySQL權限的幾點常識:
1、MySQL的權限系統主要用來驗證用戶的操作權限。
2、在MySQL內部,權限信息存放在MySQL數據庫的granttable里。當mysql啟動后,granttable里的信息會寫入內存。
3、MySQL 使用user name 加 host name 來作為標識符。
通過這種標識符,可以用來區分不同host上的相同的`user name。
4、MySQL 權限控制有2種策略:
1)根據密碼是否正確來控制客戶端的連接。
2)假設可以正常connect,server還可以檢查每個satement是否有權限去執行。如果只有某張表的select 權限,就不能進行drop 操作。
5、如果用戶的權限改變,當前已連接的會話用戶不會受影響,下次登錄才會生效。
二、關于MySQL的幾個有關權限表的含義:
user:用戶賬號、全局權限
db:庫級別權限
host:廢棄
tables_priv:表級別權限
colums_priv:列級別權限
procs_priv:存儲過程和存儲函數相關的權限
proxies_priv:代理用戶權限
三、MySQL用戶賬號的創建規則
用戶名@主機
用戶名:16字符以內
主機:
主機名:www.test.com,mysql
IP:192.168.2.1
網絡地址:192.168.0.0/255.255.0.0
通配符:%,192.168.%.%,%.test.com
四、MySQL的用戶權限級別
服務管理類:super
庫:CREATE
表:DELETE、ALTER
列:INSERT、SELECT、UPDATE
更多級別可參考MySQL官方文檔
五、與權限相關的幾個命令
GRANT 權限,... ON [對象類型] db.{table|routine} TO 'username'@'host' [INDENTIFIED BY 'password'];
REVOKE 權限,... ON [對象類型] db.{table|routine} FROM 'username'@'host';
SHOW GRANTS FOR 'username'@'host';
CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];
DROP USER 'username'@'host';
RENAME USER old_name TO new_name;
六、權限的操作命令舉例
查看當前數據庫的所有用戶:
select user,host,password from mysql.user;
給用戶賦予super權限(super和ALL PRIVILEGES都可以):
GRANT super ON *.* TO 'mysql'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost';
刪除用戶的super權限(super和ALL PRIVILEGES都可以):
REVOKE super ON *.* FROM 'mysql'@'localhost';
REVOKE ALL PRIVILEGES ON *.* FROM 'mysql'@'localhost';
查看賦予用戶的權限
SHOW GRANTS FOR 'mysql'@'localhost';
【mysql有關權限的表都有哪幾個】相關文章:
Linux數據庫MySQL內部臨時表策略09-21
教師資格證面試都有哪幾個問題01-12
幾個MySql的筆試題01-06
遇到的Mysql的筆試題01-06
Linux文件權限詳解08-10
MYSQL基礎筆試題01-06
如何開通淘寶直播權限08-12
Linux權限管理基本方法08-10
RBAC打造通用Web權限11-10