my(T_T)sql.user,它存儲(′?`)了所有MySQL??用戶(hù)的用戶(hù)信息,包括用戶(hù)名、用戶(hù)密碼、ヽ(′▽?zhuān)?ノ用戶(hù)主(?⊿?)機等。用戶(hù)MySQL用戶(hù)操作:使用主機表管理權限控制
在MySQL中,用戶(hù)我們可以使用主機表來(lái)管理和控制用戶(hù)的用戶(hù)權限,主機表是用戶(hù)一???個(gè)特殊(′?_?`)的表,它包含了所有允許連接到MySQL服務(wù)器的用戶(hù)主機的信息,通過(guò)修改主機表中的用戶(hù)記錄,我們可以控制哪些主機可以連接(?_?;)到MySQL服務(wù)器,用(yong)戶(hù)以及它們可以執行哪些操作。用戶(hù)
1、用戶(hù)主機表的用戶(hù)結ヽ(′▽?zhuān)?ノ構
主機表位于??mysql數據(′▽?zhuān)?庫中,其結構如下:
CREATE TABL(′?_?`)E user ( Host CHAR(64) NOT NULL,用戶(hù) User CHAR(32) NOT NULL, Password CHAR(32) NOT NULL, Select_priv ENUM('N','Y??') DEFAULT 'N', Insert_priv ENUM('N','Y') DEFAULT 'N', Update_priv ENUM('N','Y') DEFAULT 'N', Delete_priv ENUM('N','Y') DEFAULT 'N', Cr??eate_priv ENUM('N','Y') DEFAULT 'N', Drop_priv ENUM('N','Y') DEFAULT 'N', Grant_priv ENUM('N','Y') DEFAULT 'N', References_priv ENUM('N','Y') DEFAULT 'N', Index_priv ENUM('N','Y') DEFAULT 'N',?? Alter_priv ENUM('N','Y') DEFA(′▽?zhuān)?ULT 'N', Show_db_p(╯‵□′)╯riv ENUM('N','Y') DEFAULT 'N', Super_priv ENUM('N','Y') DEFAULT 'N') EN??GINE=InnoDB;2??、修改主機表的權限
SH??OW GRANTS;
如果要修改主機表中某個(gè)用戶(hù)的權限,可以使??用以下命令:
GRANT [權限列表] ON *.* TO '用戶(hù)名'@'主機名' IDENTIFIED BY '密碼??';
如果要允許用戶(hù)從任何主機連接到MySQL服務(wù)器(qi),并具有所有權限,可以使用以下命令:
GRANT ALL?? PRIVILEGES ON *.* TO '用戶(hù)名'@'??(╬?益?)%' IDENTIFIED BY '密碼';
3、刪除主機表中的記錄
要從主機表中刪除某個(gè)用戶(hù)的記錄,可以使用以下命令:
DELETE FROM user WHERE Host='主機名' AND User='??用戶(hù)名';
要刪除允許從主機名為example.com的用戶(hù)連接到M??ySQL服務(wù)器的記錄,可以(O_O)使用以下命令:
DELETE FROM user WHERE Host='e(╬?益?)xample.com' AND User='用戶(hù)名';
4、限制用戶(hù)只能訪(fǎng)問(wèn)特定的數據庫和表
除了使用主機表來(lái)控制用戶(hù)的權限外,還可以使用數據庫和表級別的權限來(lái)進(jìn)一步限制用戶(hù)的操作,要限制用戶(hù)只能訪(fǎng)問(wèn)數(shu)據庫mydb中的表table1,可以使用以下命令:
GRANT SELECTヽ(′▽?zhuān)?ノ,INSERT,UPDATE ON mydb.table1┐(′?`)┌ TO '用戶(hù)名'@'主機名' IDENTIFIED BY '密碼';這樣??,用戶(hù)就只(′?`*)能訪(fǎng)問(wèn)mydb數據庫中的table1表,??而不能訪(fǎng)問(wèn)其他數據庫和表,同樣,可以使用REVO??KE命令來(lái)撤銷(xiāo)用戶(hù)的權限。
問(wèn)題與解答:
1、Q: 如何在MySQL中使用主機表來(lái)管理用戶(hù)權限?
A: 我們可以通過(guò)修改主機表中的記錄來(lái)控制哪些主機可以連接到MySQL服務(wù)器,以及它們可以執行哪些操作(′_`),具體來(lái)說(shuō),可以使用GRANT和REVOKE命令來(lái)授予和撤銷(xiāo)用戶(hù)的權限,還可以使用數據庫和表級別的權限來(lái)進(jìn)一步限制用戶(hù)的操作。
2、Q: 如何查看當前用戶(hù)的權限?
A: 可以使用SHOW GRANTS命令來(lái)查看當前用戶(hù)的權限。SHOW GRANT??S;,這??將顯示當前用戶(hù)可以執行的操作列表。
3、Q: 如何修改主機表中某個(gè)用戶(hù)的權限???
A: 可以使用GRANT命令來(lái)修改主機??表中某個(gè)用戶(hù)的權限。GRANT [權限列表] ON *.* TO '用戶(hù)名??'@'主機名' IDENTIFIED BY '密碼';,這將允許指定的用戶(hù)從指定的主機連接到MySQL服務(wù)器,并具有指定的權限,注意,這里的"*.*"??表示允許用戶(hù)訪(fǎng)問(wèn)所有數據庫和表,如果只想允許用戶(hù)訪(fǎng)問(wèn)特定的數據庫和表,可以在GRANT語(yǔ)句中指定具體的數據庫和表名稱(chēng)。
電話(huà):15397061867
網(wǎng) 址:http://www.hunqingrc.com/
地 址:上海市金山66號