mysql 許可權控制筆記

銀河使者發表於2008-05-01
*  階段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語句直接修改 授權表:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-259934/,如需轉載,請註明出處,否則將追究法律責任。

相關文章