mysql查看用戶權(quán)限的方法:1、查看MySQL某個用戶的權(quán)限,語法為【show grants for 用戶名】;2、使用數(shù)據(jù)庫的授權(quán)方式,代碼為【GRANT
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供宣化網(wǎng)站建設(shè)、宣化做網(wǎng)站、宣化網(wǎng)站設(shè)計、宣化網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、宣化企業(yè)網(wǎng)站模板建站服務(wù),十余年宣化做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。ON ..】。
【相關(guān)學(xué)習(xí)推薦:mysql教程(視頻)】
mysql查看用戶表權(quán)限的方法:
(1)查看MySQL某個用戶的權(quán)限:
show grants for 用戶名
MariaDB [neutron]> show grants for root;
(2)用GRANT命令建立新用戶、設(shè)定用戶密碼、并增加用戶權(quán)限。其格式如下:
mysql> GRANTON TO [IDENTIFIED BY " "] [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' 表示本機,'%'表示所有主機
[IDENTIFIED BY "
:是設(shè)定neutron用戶密碼
(3)數(shù)據(jù)庫的授權(quán)方式
GRANTON TO [IDENTIFIED BY " "] [WITH GRANT OPTION];
是一個用逗號分隔的你想要賦予的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: 只允許登錄--其它什么也不允許做。
在進行開發(fā)和實際應(yīng)用中,用戶不應(yīng)該只用root用戶進行連接數(shù)據(jù)庫,雖然使用root用戶進行測試時很方便,但會給系統(tǒng)帶來重大安全隱患,也不利于管理技術(shù)的提高。
如一個只進行數(shù)據(jù)插入的用戶不應(yīng)賦予其刪除數(shù)據(jù)的權(quán)限。MySql的用戶管理是通過User表來實現(xiàn)的,添加新用戶常用的方法有兩個,一是在User表插入相應(yīng)的數(shù)據(jù)行,同時設(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)對象上的權(quán)限的管理能力,可在GRANT后面添加WITH GRANT OPTION
選項。
而對于用插入User表添加的用戶,Password字段應(yīng)用PASSWORD 函數(shù)進行更新加密,以防不軌之人竊看密碼。
對于那些已經(jīng)不用的用戶應(yīng)給予清除,權(quán)限過界的用戶應(yīng)及時回收權(quán)限,回收權(quán)限可以通過更新User表相應(yīng)字段,也可以使用REVOKE操作。
想了解更多編程學(xué)習(xí),敬請關(guān)注php培訓(xùn)欄目!