mysql 許可權控制筆記
* 階段1:伺服器檢查是否允許你連線。
* 階段2:假定你能連線,伺服器檢查你發出的每個請求。看你是否有足夠的許可權實施它。例如,如果你從資料庫表中選擇(select)行或從資料庫刪除表,伺服器確定你對錶有SELECT許可權或對資料庫有DROP許可權。
參考 : 5.8. MySQL使用者賬戶管理
1.許可權檢視
mysql> show grants for 'root'@'localhost' ;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.06 sec)
2.許可權設定
5.8.2. 向MySQL增加新使用者賬戶
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
其中兩個賬戶有相同的使用者名稱monty和密碼some_pass。兩個賬戶均為超級使用者賬戶,具有完全的許可權可以做任何事情。一個賬戶 ('monty'@'localhost')只用於從本機連線時。另一個賬戶('monty'@'%')可用於從其它主機連線。
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
該賬戶只用於從本機連線。授予了RELOAD和PROCESS管理許可權。這些許可權允許admin使用者執行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予訪問資料庫的許可權。你可以通過GRANT語句新增此類許可權。
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
一個賬戶有使用者名稱dummy,沒有密碼。該賬戶只用於從本機連線。未授予許可權。通過GRANT語句中的USAGE許可權,你可以建立賬戶而不授予任何許可權。它可以將所有全域性許可權設為'N'。假定你將在以後將具體許可權授予該賬戶。
下面的例子建立3個賬戶,允許它們訪問專用資料庫。每個賬戶的使用者名稱為custom,密碼為obscure。
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON bankaccount.*
-> TO 'custom'@'localhost'
-> IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON expenses.*
-> TO 'custom'@'whitehouse.gov'
-> IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON customer.*
-> TO 'custom'@'server.domain'
-> IDENTIFIED BY 'obscure';
這3個賬戶可以用於:
· 第1個賬戶可以訪問bankaccount資料庫,但只能從本機訪問。
· 第2個賬戶可以訪問expenses資料庫,但只能從主機whitehouse.gov訪問。
· 第3個賬戶可以訪問customer資料庫,但只能從主機server.domain訪問。
要想不用GRANT設定custom賬戶,使用INSERT語句直接修改 授權表:
* 階段2:假定你能連線,伺服器檢查你發出的每個請求。看你是否有足夠的許可權實施它。例如,如果你從資料庫表中選擇(select)行或從資料庫刪除表,伺服器確定你對錶有SELECT許可權或對資料庫有DROP許可權。
參考 : 5.8. MySQL使用者賬戶管理
1.許可權檢視
mysql> show grants for 'root'@'localhost' ;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.06 sec)
2.許可權設定
5.8.2. 向MySQL增加新使用者賬戶
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
其中兩個賬戶有相同的使用者名稱monty和密碼some_pass。兩個賬戶均為超級使用者賬戶,具有完全的許可權可以做任何事情。一個賬戶 ('monty'@'localhost')只用於從本機連線時。另一個賬戶('monty'@'%')可用於從其它主機連線。
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
該賬戶只用於從本機連線。授予了RELOAD和PROCESS管理許可權。這些許可權允許admin使用者執行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予訪問資料庫的許可權。你可以通過GRANT語句新增此類許可權。
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
一個賬戶有使用者名稱dummy,沒有密碼。該賬戶只用於從本機連線。未授予許可權。通過GRANT語句中的USAGE許可權,你可以建立賬戶而不授予任何許可權。它可以將所有全域性許可權設為'N'。假定你將在以後將具體許可權授予該賬戶。
下面的例子建立3個賬戶,允許它們訪問專用資料庫。每個賬戶的使用者名稱為custom,密碼為obscure。
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON bankaccount.*
-> TO 'custom'@'localhost'
-> IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON expenses.*
-> TO 'custom'@'whitehouse.gov'
-> IDENTIFIED BY 'obscure';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON customer.*
-> TO 'custom'@'server.domain'
-> IDENTIFIED BY 'obscure';
這3個賬戶可以用於:
· 第1個賬戶可以訪問bankaccount資料庫,但只能從本機訪問。
· 第2個賬戶可以訪問expenses資料庫,但只能從主機whitehouse.gov訪問。
· 第3個賬戶可以訪問customer資料庫,但只能從主機server.domain訪問。
要想不用GRANT設定custom賬戶,使用INSERT語句直接修改 授權表:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-259934/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MYSQL學習筆記13: DCL許可權控制(使用者許可權操作)MySql筆記
- Elasticsearch 許可權控制Elasticsearch
- 13.管理許可權(筆記)筆記
- 學習筆記 物件許可權筆記物件
- mysql許可權MySql
- MySQL 許可權MySql
- Mysql學習筆記4--使用者許可權MySql筆記
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- Django restframework 框架筆記 (二) 許可權DjangoRESTFramework框架筆記
- Android 6.0許可權管理筆記Android筆記
- Linux許可權控制Linux
- Appfuse:許可權控制APP
- MySQL使用者許可權控制一例MySql
- mysql中許可權控制粒度與效能的平衡MySql
- Mysql——許可權管理MySql
- Mysql 許可權管理MySql
- MySQL許可權管理MySql
- Linux 筆記分享九:ACL 許可權Linux筆記
- Linux 筆記分享十:sudo 許可權Linux筆記
- Linux 筆記分享十一:sudo 許可權Linux筆記
- MySQL 日常運維業務賬號許可權的控制MySql運維
- Laravel實現許可權控制Laravel
- oracle列級許可權控制Oracle
- Linux的許可權控制Linux
- .NET 程式許可權控制、獲得管理員許可權程式碼
- mysql許可權參考MySql
- MySQL許可權問題MySql
- MySQL reload許可權MySql
- MySQL許可權系統MySql
- [玄月]MySQL許可權MySql
- MySQL 許可權詳解MySql
- Shiro筆記--shiroFilter許可權過濾筆記Filter
- Linux 檔案許可權 學習筆記Linux筆記
- 學習筆記 使用者和許可權筆記
- 資料分析的許可權控制
- 許可權控制及AOP日誌
- Java 訪問許可權控制(6)Java訪問許可權
- vue-router控制路由許可權Vue路由