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