使用該命令可以展示出mysql中存在的權限。
show privileges;
給用戶授權的方式有 2 種,分別是通過把角色賦予用戶給用戶授權(mysql8.0的特性) 和 直接給用戶授權。用戶是數(shù)據(jù)庫的使用者,我們可以通過給用戶授予訪問數(shù)據(jù)庫中資源的權限,來控制用戶對數(shù)據(jù)庫的訪問,消除安全隱患。
授權命令:該權限如果發(fā)現(xiàn)沒有該用戶,則會直接新建一個用戶。
GRANT 權限1,權限2,…權限n ON 數(shù)據(jù)庫名稱.表名稱 TO 用戶名@用戶地址 [IDENTIFIED BY ‘密碼口令’];
舉例:
1、給li4用戶用本地命令行方式,授予atguigudb這個庫下的所有表的插刪改查的權限。
GRANT SELECT,INSERT,DELETE,UPDATE ON atguigudb.* TO li4@localhost ;
2、授予通過網(wǎng)絡方式登錄的joe用戶 ,對所有庫所有表的全部權限,密碼設為123。如果需要賦予包括grant權限,添加參數(shù)“WITH GRANT OPTION”這個選項即可,表示該用戶可以將自己擁有的權限授權給其他用戶,可以使用grant重復給用戶添加權限。
GRANT ALL PRIVILEGES ON *.* TO joe@'%' IDENTIFIED BY '123' with grant option;
我們在開發(fā)應用的時候,經(jīng)常會遇到一種需求,就是要根據(jù)用戶的不同,對數(shù)據(jù)進行橫向和縱向的分組。
1、所謂橫向的分組,就是指用戶可以接觸到的數(shù)據(jù)的范圍,比如可以看到哪些表的數(shù)據(jù);
2、所謂縱向的分組,就是指用戶對接觸到的數(shù)據(jù)能訪問到什么程度,比如能看、能改,甚至是刪除
查看權限
查看當前用戶的權限
SHOW GRANTS; 或者 SHOW GRANTS FOR CURRENT_USER; 或者 SHOW GRANTS FOR CURRENT_USER();
查看某些用戶的權限
SHOW GRANTS FOR 'user'@'主機地址' ;
收回權限
收回權限就是取消已經(jīng)賦予用戶的某些權限。收回用戶不必要的權限可以在一定程度上保證系統(tǒng)的安全性。
MySQL中使用REVOKE語句取消用戶的某些權限。使用REVOKE收回權限之后,用戶賬戶的記錄將從db、host、tables_priv和columns_priv表中刪除,但是用戶賬戶記錄仍然在user表中保存(刪除user表中的賬戶記錄使用DROP USER語句,在將用戶賬戶從user表刪除之前,應該收回相應用戶的所有權限。)
收回權限的命令(收回權限后需要用戶重新登錄才能生效)文章來源:http://www.zghlxwxcb.cn/news/detail-547909.html
REVOKE 權限1,權限2,…權限n ON 數(shù)據(jù)庫名稱.表名稱 FROM 用戶名@用戶地址;
舉例:
收回全庫全表的所有權限:REVOKE ALL PRIVILEGES ON *.* FROM joe@'%';
收回mysql庫下的所有表的插刪改查權限:REVOKE SELECT,INSERT,UPDATE,DELETE ON mysql.* FROM joe@localhost;
文章來源地址http://www.zghlxwxcb.cn/news/detail-547909.html
到了這里,關于MySQL授予用戶權限的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!