MySQL數(shù)據(jù)庫GRANT和REVOKE語句有哪些影響,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
MySQL管理員應(yīng)該知道怎樣通過指定哪些用戶可連接到服務(wù)器、從哪里進(jìn)行連接,以及在連接時(shí)做什么,來設(shè)置MySQL用戶賬號(hào)。MySQL3.22.11引入了兩個(gè)更容易進(jìn)行這項(xiàng)工作的語句:GRANT語句創(chuàng)建MySQL用戶并指定其權(quán)限,REVOKE語句刪除權(quán)限。這兩個(gè)語句充當(dāng)mysql數(shù)據(jù)庫中的授權(quán)表的前端,并提供直接操縱這些表內(nèi)容的可選擇的方法。下面創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,小編來講解下MySQL數(shù)據(jù)庫GRANT和REVOKE語句有哪些影響?
MySQL數(shù)據(jù)庫GRANT和REVOKE語句有哪些影響
授權(quán)表內(nèi)容
user可連接到服務(wù)器的用戶和他們擁有的任何全局特權(quán)db數(shù)據(jù)庫級(jí)的特權(quán)tables_priv表級(jí)特權(quán)columns_priv列級(jí)特權(quán)
還有第五個(gè)授權(quán)表(host),但它不受GRANT或REVOKE的影響。
當(dāng)您為某個(gè)用戶發(fā)布GRANT語句時(shí),應(yīng)在user表中為該用戶創(chuàng)建一個(gè)項(xiàng)。如果該語句指定了所有全局特權(quán)(管理權(quán)限或用于所有數(shù)據(jù)庫的權(quán)限),則這些指定也被記錄在user表中。如果指定了數(shù)據(jù)庫、表或列的權(quán)限,它們將記錄在db、tables_priv和columns_priv表中。
使用GRANT和REVOKE語句比直接修改授權(quán)表更容易。但是,建議您好通過閱讀第12章來補(bǔ)充本章的內(nèi)容,第12章中詳細(xì)討論了授權(quán)表。這些表非常重要,作為一位管理員應(yīng)該了解這些表是怎樣在GRANT和REVOKE語句級(jí)上工作的。
本節(jié)下面的部分將討論如何設(shè)置MySQL用戶的賬號(hào)和授權(quán),還將介紹如何取消權(quán)限以及從授權(quán)表中刪除全部用戶,并且將考慮一個(gè)困擾許多新的MySQL管理員的難題。
您還要考慮使用mysqlaccess和mysql_setpermission腳本,它們是MySQL分發(fā)包的組成部分。這些是Perl的腳本,它們提供了設(shè)置用戶賬號(hào)的GRANT語句的代用品。mysql_setpermission需要具有DBI的支持環(huán)境。
MySQL數(shù)據(jù)庫GRANT和REVOKE語句有哪些影響
創(chuàng)建新用戶和授權(quán)
GRANT語句的語法如下:
GRANTprivileges(columns)
ONwhat
TOuserIDENTIFIEDBY"password"
WITHGRANTOPTION
要使用該語句,需要填寫以下部分:
privileges分配給用戶的權(quán)限。下表列出了可在GRANT語句中使用的權(quán)限說明符:
權(quán)限說明符權(quán)限允許的操作
上表顯示的第一組權(quán)限說明符適用于數(shù)據(jù)庫、表和列。第二組說明符是管理特權(quán)。通常,這些權(quán)限的授予相當(dāng)保守,因?yàn)樗鼈儠?huì)影響服務(wù)器的操作(例如,SHUTDOWN特權(quán)不是按每天來分發(fā)的權(quán)限)。第三組說明符是特殊的。ALL的意思是所有的權(quán)限,而USAGE的意思是無權(quán)限即創(chuàng)建用戶,但不授予任何的權(quán)限。
columns權(quán)限適用的列。這是可選的,只來設(shè)置列專有的權(quán)限。如果命名多于一個(gè)列,則用逗號(hào)分開。
what權(quán)限應(yīng)用的級(jí)別。權(quán)限可以是全局的(適用于所有數(shù)據(jù)庫和所有的表)、數(shù)據(jù)庫專有的(適用于某個(gè)數(shù)據(jù)庫中的所有表),或表專有的??梢酝ㄟ^指定一個(gè)COLUMNS子句將權(quán)限授予特定的列。
user使用權(quán)限的用戶。它由用戶名和主機(jī)名組成。在MySQL中,不僅指定誰進(jìn)行連接,還要指定從哪里連接。它允許您擁有兩個(gè)帶有相同名字的、從不同位置連接的用戶。MySQL允許在它們之間進(jìn)行區(qū)別并相互獨(dú)立地分配權(quán)限。
MySQL的用戶名就是您在連接到服務(wù)器時(shí)指定的名字。該名字與您的UNIX注冊(cè)名或Windows名的沒有必然連系。缺省設(shè)置時(shí),客戶機(jī)程序?qū)⑹褂媚?cè)的名字作為MySQL的用戶名(如果您不明確指定一個(gè)名字的話),但這只是一個(gè)約定。有關(guān)將root作為可以操作一切MySQL的超級(jí)用戶名也是這樣,就是一種約定。您也可以在授權(quán)表中將此名修改成nobody,然后作為nobody用戶進(jìn)行連接,以執(zhí)行需要超級(jí)用戶特權(quán)的操作。
password分配給該用戶的口令。這是可選的。如果您不給新用戶指定IDENTIFIEDBY子句,該用戶不分配口令(是非安全的)。對(duì)于已有的用戶,任何指定的口令將替代舊口令。如果不指定新口令,用戶的舊口令仍然保持不變。當(dāng)您確實(shí)要使用IDENTIFIEDBY時(shí),該口令串應(yīng)該是直接量,GRANT將對(duì)口令進(jìn)行編碼。當(dāng)用SETPASSWORD語句時(shí),不要使用PASSWORD()函數(shù)。
WITHGRANTOPTION子句是可選的。如果包含該子句,該用戶可以將GRANT語句授予的任何權(quán)限授予其他的用戶??梢允褂迷撟泳鋵⑹跈?quán)的能力授予其他的用戶。
看完上述內(nèi)容,你們掌握MySQL數(shù)據(jù)庫GRANT和REVOKE語句有哪些影響的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁標(biāo)題:MySQL數(shù)據(jù)庫GRANT和REVOKE語句有哪些影響-創(chuàng)新互聯(lián)
本文鏈接:http://chinadenli.net/article46/deeshg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、軟件開發(fā)、建站公司、移動(dòng)網(wǎng)站建設(shè)、Google、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容