新聞中心
MySQL用戶(hù)權(quán)限根據(jù)用戶(hù)的級(jí)別不同,權(quán)限級(jí)別也有所不同, 下面就為您介紹一些MySQL用戶(hù)權(quán)限相關(guān)方面的知識(shí),希望可以讓您對(duì)MySQL用戶(hù)權(quán)限有更深的認(rèn)識(shí)。

你可以授權(quán)不同級(jí)別的MySQL用戶(hù)權(quán)限,全局權(quán)限是最強(qiáng)大的,因?yàn)樗鼈冞m用于任何數(shù)據(jù)庫(kù)。要使ethel成為可做任何事情的超級(jí)用戶(hù),包括能授權(quán)給其它用戶(hù),發(fā)出下列語(yǔ)句:
GRANT ALL ON *.* TO ethel@localhost IDENTIFIED BY "coffee" WITH GRANT OPTION
ON子句中的*.*意味著“所有數(shù)據(jù)庫(kù)、所有表”。從安全考慮,我們指定ethel只能從本地連接。限制一個(gè)超級(jí)用戶(hù)可以連接的主機(jī)通常是明智的,因?yàn)樗拗屏嗽噲D破解口令的主機(jī)。
有些MySQL用戶(hù)權(quán)限(FILE、PROCESS、RELOAD和SHUTDOWN)是管理權(quán)限并且只能用"ON *.*"全局權(quán)限指定符授權(quán)。如果你愿意,你可以授權(quán)這些權(quán)限,而不授權(quán)數(shù)據(jù)庫(kù)權(quán)限。例如,下列語(yǔ)句設(shè)置一個(gè)flush用戶(hù),他只能發(fā)出flush語(yǔ)句。 這可能在你需要執(zhí)行諸如清空日志等的管理腳本中會(huì)有用:
GRANT RELOAD ON *.* TO flushl@localhost IDENTIFIED BY "flushpass"
一般地,你想授權(quán)管理MySQL用戶(hù)權(quán)限,吝嗇點(diǎn),因?yàn)閾碛兴鼈兊挠脩?hù)可以影響你的服務(wù)器的操作。
數(shù)據(jù)庫(kù)級(jí)權(quán)限適用于一個(gè)特定數(shù)據(jù)庫(kù)中的所有表,它們可通過(guò)使用ON db_name.*子句授予:
GRANT ALL ON samp_db TO [email protected] INDETIFIED BY "rock" GRANT Select ON samp_db TO ro_user@% INDETIFIED BY "rock"
第一條語(yǔ)句向bill授權(quán)samp_db數(shù)據(jù)庫(kù)中所有表的權(quán)限,第二條創(chuàng)建一個(gè)嚴(yán)格限制訪問(wèn)的用戶(hù)ro_user(只讀用戶(hù)),只能訪問(wèn)samp_db數(shù)據(jù)庫(kù)中的所有表,但只有讀取,即用戶(hù)只能發(fā)出Select語(yǔ)句。
你可以列出一系列同時(shí)授予的各個(gè)MySQL用戶(hù)權(quán)限。例如,如果你想讓用戶(hù)能讀取并能修改現(xiàn)有數(shù)據(jù)庫(kù)的內(nèi)容,但不能創(chuàng)建新表或刪除表,如下授予這些權(quán)限:
GRANT Select,Insert,Delete,Update ON samp_db TO [email protected] INDETIFIED BY "rock"
對(duì)于更精致的訪問(wèn)控制,你可以在各個(gè)表上授權(quán),或甚至在表的每個(gè)列上。當(dāng)你想向用戶(hù)隱藏一個(gè)表的部分時(shí),或你想讓一個(gè)用戶(hù)只能修改特定的列時(shí),列特定權(quán)限非常有用。如:
GRANT Select ON samp_db.member TO bill@localhost INDETIFIED BY "rock"
GRANT Update (expiration) ON samp_db. member TO bill@localhost
第一條語(yǔ)句授予對(duì)整個(gè)member表的讀權(quán)限并設(shè)置了一個(gè)口令,第二條語(yǔ)句增加了Update權(quán)限,當(dāng)只對(duì)expiration列。沒(méi)必要再指定口令,因?yàn)榈谝粭l語(yǔ)句已經(jīng)指定了。
如果你想對(duì)多個(gè)列授予權(quán)限,指定一個(gè)用逗號(hào)分開(kāi)的列表。例如,對(duì)assistant用戶(hù)增加member表的地址字段的Update權(quán)限,使用如下語(yǔ)句,新權(quán)限將加到用戶(hù)已有的權(quán)限中:
GRANT Update (street,city,state,zip) ON samp_db TO assistant@localhost
分享文章:帶您深入了解MySQL用戶(hù)權(quán)限
文章源于:http://m.fisionsoft.com.cn/article/cogoigo.html


咨詢(xún)
建站咨詢(xún)
