溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql查看用戶權(quán)限的方法

發(fā)布時(shí)間:2020-09-04 09:31:28 來源:億速云 閱讀:518 作者:小新 欄目:MySQL數(shù)據(jù)庫

小編給大家分享一下mysql查看用戶權(quán)限的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

mysql查看用戶權(quán)限的方法:1、查看MySQL某個(gè)用戶的權(quán)限,語法為【show grants for 用戶名】;2、使用數(shù)據(jù)庫的授權(quán)方式,代碼為【GRANT <privileges> ON <what>..】。

mysql查看用戶表權(quán)限的方法:

(1)查看MySQL某個(gè)用戶的權(quán)限:

show grants for 用戶名

MariaDB [neutron]> show grants for root;

(2)用GRANT命令建立新用戶、設(shè)定用戶密碼、并增加用戶權(quán)限。其格式如下:

mysql> GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];

例如:

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost'   IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%'   IDENTIFIED BY 'NEUTRON_DBPASS';
  • neutron.* :表示neutron數(shù)據(jù)庫中的所有表,授權(quán)之前neutron庫要先創(chuàng)建好。如果用*.*表示所有庫的所有表

  • 'neutron'@'localhost':表示創(chuàng)建的用戶名neutron ,@后面表示允許訪問數(shù)據(jù)的客戶端,'localhost' 表示本機(jī),'%'表示所有主機(jī)

  • [IDENTIFIED BY "<password>"]:是設(shè)定neutron用戶密碼

(3)數(shù)據(jù)庫的授權(quán)方式

GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];

<privileges>是一個(gè)用逗號(hào)分隔的你想要賦予的MySQL用戶權(quán)限的列表。

你可以指定的權(quán)限可以分為三種類型:

1)數(shù)據(jù)庫/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限:

  • Alter: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。

  • Create: 建立新的數(shù)據(jù)庫或數(shù)據(jù)表。

  • Delete: 刪除表的記錄。

  • Drop: 刪除數(shù)據(jù)表或數(shù)據(jù)庫。

  • INDEX: 建立或刪除索引。

  • Insert: 增加表的記錄。

  • Select: 顯示/搜索表的記錄。

  • Update: 修改表中已存在的記錄。

mysql>grant select,insert,delete,create,drop  on *.* (或nova.*其它庫或表) to '用戶名'@'localhost'  identified by ‘密碼’;

2)全局管理MySQL用戶權(quán)限:

  • file: 在MySQL服務(wù)器上讀寫文件。

  • PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程。

  • RELOAD: 重載訪問控制表,刷新日志等。

  • SHUTDOWN: 關(guān)閉MySQL服務(wù)。

3)特別的權(quán)限:

  • ALL: 允許做任何事(和root一樣)。

  • USAGE: 只允許登錄--其它什么也不允許做。

在進(jìn)行開發(fā)和實(shí)際應(yīng)用中,用戶不應(yīng)該只用root用戶進(jìn)行連接數(shù)據(jù)庫,雖然使用root用戶進(jìn)行測試時(shí)很方便,但會(huì)給系統(tǒng)帶來重大安全隱患,也不利于管理技術(shù)的提高。

如一個(gè)只進(jìn)行數(shù)據(jù)插入的用戶不應(yīng)賦予其刪除數(shù)據(jù)的權(quán)限。MySql的用戶管理是通過User表來實(shí)現(xiàn)的,添加新用戶常用的方法有兩個(gè),一是在User表插入相應(yīng)的數(shù)據(jù)行,同時(shí)設(shè)置相應(yīng)的權(quán)限;二是通過GRANT命令創(chuàng)建具有某種權(quán)限的用戶。其中GRANT的常用用法如下:

grant all on mydb.* to NewUserName@HostName identified by “password”;  
grant usage on *.* to NewUserName@HostName identified by “password”;  
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;  
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;

若要給此用戶賦予他在相應(yīng)對(duì)象上的權(quán)限的管理能力,可在GRANT后面添加WITH GRANT OPTION選項(xiàng)。

而對(duì)于用插入U(xiǎn)ser表添加的用戶,Password字段應(yīng)用PASSWORD 函數(shù)進(jìn)行更新加密,以防不軌之人竊看密碼。

對(duì)于那些已經(jīng)不用的用戶應(yīng)給予清除,權(quán)限過界的用戶應(yīng)及時(shí)回收權(quán)限,回收權(quán)限可以通過更新User表相應(yīng)字段,也可以使用REVOKE操作。

看完了這篇文章,相信你對(duì)mysql查看用戶權(quán)限的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI