MySQL授予用戶權(quán)限命令詳解
使用該命令可以展示出mysql中存在的權(quán)限。
show privileges;
給用戶授權(quán)的方式有 2 種,分別是通過把角色賦予用戶給用戶授權(quán)(mysql8.0的特性) 和 直接給用戶授權(quán)。用戶是數(shù)據(jù)庫的使用者,我們可以通過給用戶授予訪問數(shù)據(jù)庫中資源的權(quán)限,來控制用戶對數(shù)據(jù)庫的訪問,消除安全隱患。
授權(quán)命令:該權(quán)限如果發(fā)現(xiàn)沒有該用戶,則會直接新建一個用戶。
GRANT 權(quán)限1,權(quán)限2,…權(quán)限n ON 數(shù)據(jù)庫名稱.表名稱 TO 用戶名@用戶地址 [IDENTIFIED BY ‘密碼口令’];
舉例:
1、給li4用戶用本地命令行方式,授予atguigudb這個庫下的所有表的插刪改查的權(quán)限。
GRANT SELECT,INSERT,DELETE,UPDATE ON atguigudb.* TO li4@localhost ;
2、授予通過網(wǎng)絡(luò)方式登錄的joe用戶 ,對所有庫所有表的全部權(quán)限,密碼設(shè)為123。如果需要賦予包括grant權(quán)限,添加參數(shù)“WITH GRANT OPTION”這個選項即可,表示該用戶可以將自己擁有的權(quán)限授權(quán)給其他用戶,可以使用grant重復(fù)給用戶添加權(quán)限。
GRANT ALL PRIVILEGES ON *.* TO joe@'%' IDENTIFIED BY '123' with grant option;
我們在開發(fā)應(yīng)用的時候,經(jīng)常會遇到一種需求,就是要根據(jù)用戶的不同,對數(shù)據(jù)進行橫向和縱向的分組。
1、所謂橫向的分組,就是指用戶可以接觸到的數(shù)據(jù)的范圍,比如可以看到哪些表的數(shù)據(jù);
2、所謂縱向的分組,就是指用戶對接觸到的數(shù)據(jù)能訪問到什么程度,比如能看、能改,甚至是刪除
查看權(quán)限
查看當(dāng)前用戶的權(quán)限
SHOW GRANTS; 或者 SHOW GRANTS FOR CURRENT_USER; 或者 SHOW GRANTS FOR CURRENT_USER();
查看某些用戶的權(quán)限
SHOW GRANTS FOR 'user'@'主機地址' ;
收回權(quán)限
收回權(quán)限就是取消已經(jīng)賦予用戶的某些權(quán)限。收回用戶不必要的權(quán)限可以在一定程度上保證系統(tǒng)的安全性。
MySQL中使用REVOKE語句取消用戶的某些權(quán)限。使用REVOKE收回權(quán)限之后,用戶賬戶的記錄將從db、host、tables_priv和columns_priv表中刪除,但是用戶賬戶記錄仍然在user表中保存(刪除user表中的賬戶記錄使用DROP USER語句,在將用戶賬戶從user表刪除之前,應(yīng)該收回相應(yīng)用戶的所有權(quán)限。)
收回權(quán)限的命令(收回權(quán)限后需要用戶重新登錄才能生效)
REVOKE 權(quán)限1,權(quán)限2,…權(quán)限n ON 數(shù)據(jù)庫名稱.表名稱 FROM 用戶名@用戶地址;
舉例:
收回全庫全表的所有權(quán)限:REVOKE ALL PRIVILEGES ON *.* FROM joe@'%';
收回mysql庫下的所有表的插刪改查權(quán)限:REVOKE SELECT,INSERT,UPDATE,DELETE ON mysql.* FROM joe@localhost;
附:MySQL grant、revoke 用戶權(quán)限注意事項
grant, revoke 用戶權(quán)限后,該用戶只有重新連接 MySQL 數(shù)據(jù)庫,權(quán)限才能生效。
如果想讓授權(quán)的用戶,也可以將這些權(quán)限 grant 給其他用戶,需要選項 “grant option“
grant select on testdb.* to dba@localhost with grant option;
這個特性一般用不到。實際中,數(shù)據(jù)庫權(quán)限最好由 DBA 來統(tǒng)一管理。
總結(jié)
到此這篇關(guān)于MySQL授予用戶權(quán)限的文章就介紹到這了,更多相關(guān)MySQL授予用戶權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql出現(xiàn)ERROR 1819 (HY000)的解決方法
這篇文章主要為大家詳細介紹了mysql出現(xiàn)ERROR 1819 (HY000)的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10詳解MySQL中varchar和int隱式轉(zhuǎn)換的注意事項
這篇文章主要為大家詳細介紹了MySQL中varchar和int隱式轉(zhuǎn)換的注意事項,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12Windows 10系統(tǒng)下徹底刪除卸載MySQL的方法教程
mysql數(shù)據(jù)庫的重新安裝是一個麻煩的問題,很難卸除干凈,下面這篇文章主要給大家介紹了關(guān)于在Windows 10系統(tǒng)下徹底刪除卸載MySQL的方法教程,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-07-07