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)文章
linux下mysql5.7.17最新穩(wěn)定版本安裝教程
這篇文章主要為大家詳細介紹了linux上mysql5.7.17最新穩(wěn)定版本安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
分析MySQL復(fù)制以及調(diào)優(yōu)原理和方法
本篇文章給大家詳細分析了MySQL復(fù)制以及調(diào)優(yōu)原理和方法,并通過代碼詳細分析了具體操作,有需要的朋友參考下吧。2018-01-01
MySQL分區(qū)建索引以及分區(qū)介紹總結(jié)
當(dāng)mysql一張數(shù)據(jù)表中的數(shù)據(jù)達到一定的量時,在其中查詢某一個數(shù)據(jù),需要花費大量的時間,下面這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)建索引以及分區(qū)介紹的相關(guān)資料,需要的朋友可以參考下2022-04-04
淺談mysql數(shù)據(jù)庫中的換行符與textarea中的換行符
下面小編就為大家?guī)硪黄獪\談mysql數(shù)據(jù)庫中的換行符與textarea中的換行符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
mysql 5.7.13 安裝配置方法圖文教程(win10 64位)
這篇文章主要為大家分享了win10 64位下mysql 5.7.13 安裝配置方法圖文教程,感興趣的朋友可以參考一下2017-02-02
MYSQL?Binlog恢復(fù)誤刪數(shù)據(jù)庫詳解
MySQL一旦誤刪數(shù)據(jù)庫之后恢復(fù)數(shù)據(jù)很麻煩,這里記錄一下艱辛的恢復(fù)過程,這篇文章主要給大家介紹了關(guān)于如何利用MySQL的binlog恢復(fù)誤刪數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2022-11-11
mysql中find_in_set()函數(shù)用法及自定義增強函數(shù)詳解
這篇文章主要給大家介紹了關(guān)于mysql中find_in_set()函數(shù)用法及自定義增強函數(shù)的相關(guān)資料,在MySQL 數(shù)據(jù)庫中進行復(fù)雜的查詢語句,例如對多個字段進行篩選和排序,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06

