下面的例子顯示出如何使用MySQL客戶安裝新用戶。這些例子假定權(quán)限根據(jù)以前的章節(jié)描述的缺省被安裝。這意味著為了改變,你必須在MySQL正在運(yùn)行同一臺(tái)機(jī)器上,你必須作為MySQL root用戶連接,并且root用戶必須對(duì)MySQL數(shù)據(jù)庫(kù)有insert權(quán)限和reload管理權(quán)限。另外,如果你改變了root用戶口令,你必須如下的MySQL命令指定它。
你可以通過(guò)發(fā)出GRANT語(yǔ)句增加新用戶:
代碼如下:
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語(yǔ)句安裝3個(gè)新用戶:
monty:可以從任何地方連接服務(wù)器的一個(gè)完全的超級(jí)用戶,但是必須使用一個(gè)口令('something'做這個(gè)。注意,我們必須對(duì)monty@localhost和monty@"%"發(fā)出GRANT語(yǔ)句。如果我們?cè)黾觢ocalhost條目,對(duì)localhost的匿名用戶條目在我們從本地主機(jī)連接接時(shí)由mysql_install_db創(chuàng)建的條目將優(yōu)先考慮,因?yàn)樗懈囟ǖ腍ost字段值,所以以u(píng)ser表排列順序看更早到來(lái)。
admin:可以從localhost沒(méi)有一個(gè)口令進(jìn)行連接并且被授予reload和process管理權(quán)限的用戶。這允許用戶執(zhí)行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,還有mysqladmin processlist。沒(méi)有授予數(shù)據(jù)庫(kù)有關(guān)的權(quán)限。他們能在以后通過(guò)發(fā)出另一個(gè)GRANT語(yǔ)句授權(quán)。
dummy:可以不用一個(gè)口令連接的一個(gè)用戶,但是只能從本地主機(jī)。全局權(quán)限被設(shè)置為'N'--USAGE權(quán)限類型允許你無(wú)需權(quán)限就可設(shè)置一個(gè)用戶。它假定你將在以后授予數(shù)據(jù)庫(kù)相關(guān)的權(quán)限。
你也可以直接通過(guò)發(fā)出INSERT語(yǔ)句增加同樣的用戶存取信息,然后告訴服務(wù)器再次裝入授權(quán)表:
代碼如下:
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;
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com