posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          mysql 權(quán)限控制筆記

          Posted on 2008-04-29 13:52 G_G 閱讀(11674) 評(píng)論(3)  編輯  收藏 所屬分類: Database

          MySQL 存取控制包含2個(gè)階段:

          • 階段1:服務(wù)器檢查是否允許你連接。
          • 階段2:假定你能連接,服務(wù)器檢查你發(fā)出的每個(gè)請(qǐng)求。看你是否有足夠的權(quán)限實(shí)施它。例如,如果你從數(shù)據(jù)庫(kù)表中選擇(select)行或從數(shù)據(jù)庫(kù)刪除表,服務(wù)器確定你對(duì)表有SELECT權(quán)限或?qū)?shù)據(jù)庫(kù)有DROP權(quán)限。
          參考 : 5.8. MySQL用戶賬戶管理

          1.權(quán)限查看
          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.權(quán)限設(shè)置
          5.8.2. 向MySQL增加新用戶賬戶
          mysql>?GRANT?ALL?PRIVILEGES?ON?*.*?TO?'monty'@'localhost'
          ????
          ->?????IDENTIFIED?BY?'some_pass';

          mysql
          >?GRANT?ALL?PRIVILEGES?ON?*.*?TO?'monty'@'%'
          ????
          ->?????IDENTIFIED?BY?'some_pass'?WITH?GRANT?OPTION;
          ?? 其中兩個(gè)賬戶有相同的用戶名monty和密碼some_pass。兩個(gè)賬戶均為超級(jí)用戶賬戶,具有完全的權(quán)限可以做任何事情。一個(gè)賬戶 ('monty'@'localhost')只用于從本機(jī)連接時(shí)。另一個(gè)賬戶('monty'@'%')可用于從其它主機(jī)連接。


          mysql>?GRANT?RELOAD,PROCESS?ON?*.*?TO?'admin'@'localhost';
          該賬戶只用于從本機(jī)連接。授予了RELOADPROCESS管理權(quán)限。這些權(quán)限允許admin用戶執(zhí)行mysqladmin reloadmysqladmin refreshmysqladmin flush-xxx命令,以及mysqladmin processlist。未授予訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限。你可以通過(guò)GRANT語(yǔ)句添加此類權(quán)限。

          mysql
          >?GRANT?USAGE?ON?*.*?TO?'dummy'@'localhost';
          ??? 一個(gè)賬戶有用戶名dummy,沒(méi)有密碼。該賬戶只用于從本機(jī)連接。未授予權(quán)限。通過(guò)GRANT語(yǔ)句中的USAGE權(quán)限,你可以創(chuàng)建賬戶而不授予任何權(quán)限。它可以將所有全局權(quán)限設(shè)為'N'。假定你將在以后將具體權(quán)限授予該賬戶。

          下面的例子創(chuàng)建3個(gè)賬戶,允許它們?cè)L問(wèn)專用數(shù)據(jù)庫(kù)。每個(gè)賬戶的用戶名為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個(gè)賬戶可以用于:

          ·?????????第1個(gè)賬戶可以訪問(wèn)bankaccount數(shù)據(jù)庫(kù),但只能從本機(jī)訪問(wèn)。

          ·?????????第2個(gè)賬戶可以訪問(wèn)expenses數(shù)據(jù)庫(kù),但只能從主機(jī)whitehouse.gov訪問(wèn)。

          ·?????????第3個(gè)賬戶可以訪問(wèn)customer數(shù)據(jù)庫(kù),但只能從主機(jī)server.domain訪問(wèn)。

          要想不用GRANT設(shè)置custom賬戶,使用INSERT語(yǔ)句直接修改?授權(quán)表:

          5.8.3.?從MySQL刪除用戶賬戶

          DROP USER user;





          評(píng)論

          # re: mysql 權(quán)限控制筆記  回復(fù)  更多評(píng)論   

          2008-06-11 09:29 by ocean
          您的blog寫的很負(fù)責(zé):)

          希望能和你多多交流,我的msn:ie_eu@hotmail.com

          # re: mysql 權(quán)限控制筆記  回復(fù)  更多評(píng)論   

          2008-06-17 12:24 by 初學(xué)者
          講的很明白,謝謝!

          # re: mysql 權(quán)限控制筆記[未登錄](méi)  回復(fù)  更多評(píng)論   

          2008-11-06 14:52 by 毛毛
          我愛(ài)你,謝謝
          主站蜘蛛池模板: 遂昌县| 如皋市| 沙湾县| 平度市| 城口县| 班戈县| 杭锦旗| 浑源县| 巴中市| 图片| 天全县| 水城县| 慈利县| 佳木斯市| 利辛县| 松江区| 白朗县| 兰溪市| 克山县| 庆阳市| 武汉市| 沙河市| 大新县| 抚顺县| 凭祥市| 五峰| 朔州市| 高州市| 深圳市| 涿鹿县| 三河市| 仙居县| 西乌珠穆沁旗| 汉中市| 麻阳| 丹巴县| 孝昌县| 象山县| 枞阳县| 陕西省| 平顶山市|