程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 在MySQL中增添新用戶權限的方法

在MySQL中增添新用戶權限的方法

編輯:關於MYSQL數據庫
有2個不同的方法增加用戶:通過使用GRANT語句或通過直接操作MySQL授權表。比較好的方法是使用GRANT語句,因為他們是更簡明並且好像錯誤少些。 

下面的例子顯示出如何使用MySQL客戶安裝新用戶。這些例子假定權限根據以前的章節描述的缺省被安裝。這意味著為了改變,你必須在MySQL正在運行同一台機器上,你必須作為MySQL root用戶連接,並且root用戶必須對MySQL數據庫有insert權限和reload管理權限。另外,如果你改變了root用戶口令,你必須如下的MySQL命令指定它。 

你可以通過發出GRANT語句增加新用戶:

復制代碼 代碼如下:
shell> mysql --user=root mysql  
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost  
      IDENTIFIED BY 'something' WITH GRANT OPTION;  
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"  
      IDENTIFIED BY 'something' WITH GRANT OPTION;  
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;  
mysql> GRANT USAGE ON *.* TO dummy@localhost; 



這些GRANT語句安裝3個新用戶: 

monty:可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令('something'做這個。注意,我們必須對monty@localhost和monty@"%"發出GRANT語句。如果我們增加localhost條目,對localhost的匿名用戶條目在我們從本地主機連接接時由mysql_install_db創建的條目將優先考慮,因為它有更特定的Host字段值,所以以user表排列順序看更早到來。 

admin:可以從localhost沒有一個口令進行連接並且被授予reload和process管理權限的用戶。這允許用戶執行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,還有mysqladmin processlist。沒有授予數據庫有關的權限。他們能在以後通過發出另一個GRANT語句授權。 

dummy:可以不用一個口令連接的一個用戶,但是只能從本地主機。全局權限被設置為'N'--USAGE權限類型允許你無需權限就可設置一個用戶。它假定你將在以後授予數據庫相關的權限。 

你也可以直接通過發出INSERT語句增加同樣的用戶存取信息,然後告訴服務器再次裝入授權表:  


復制代碼 代碼如下:
shell> mysql --user=root mysql  
mysql> INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),  
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')  
mysql> INSERT INTO user VALUES('%','monty',PASSWORD('something'),  
        'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')  
mysql> INSERT INTO user SET Host='localhost',User='admin',  
         Reload_priv='Y', Process_priv='Y';  
mysql> INSERT INTO user (Host,User,Password)  
            VALUES('localhost','dummy','');  
mysql> FLUSH PRIVILEGES; 
 



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved