本篇內(nèi)容介紹了“MySQL中有什么權(quán)限”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
十余年的白云鄂網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整白云鄂建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“白云鄂網(wǎng)站設(shè)計”,“白云鄂網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
mysql的權(quán)限:1、全局權(quán)限,適用于服務(wù)器中的所有數(shù)據(jù)庫,存儲在“mysql.user”中;2、數(shù)據(jù)庫權(quán)限,適用于數(shù)據(jù)庫中的所有目標(biāo),存儲在“mysql.db”和“mysql.host”中;3、表權(quán)限,適用于表中的所有列;4、列權(quán)限等等。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
權(quán)限具體分類
1、全局層級
全局權(quán)限適用于一個給定服務(wù)器中的所有數(shù)據(jù)庫。這些權(quán)限存儲在mysql.user表中。GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤銷全局權(quán)限。
2、數(shù)據(jù)庫層級
數(shù)據(jù)庫權(quán)限適用于一個給定數(shù)據(jù)庫中的所有目標(biāo)。這些權(quán)限存儲在mysql.db和mysql.host表中。GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤銷數(shù)據(jù)庫權(quán)限。
3、表層級
表權(quán)限適用于一個給定表中的所有列。這些權(quán)限存儲在mysql.tables_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤銷表權(quán)限。
4、列層級
列權(quán)限適用于一個給定表中的單一列。這些權(quán)限存儲在mysql.columns_priv表中。當(dāng)使用REVOKE時,您必須指定與被授權(quán)列相同的列。
5、子程序?qū)蛹?/strong>
CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT權(quán)限適用于已存儲的子程序。這些權(quán)限可以被授予為全局層級和數(shù)據(jù)庫層級。而且,除了CREATE ROUTINE外,這些權(quán)限可以被授予為子程序?qū)蛹墸⒋鎯υ趍ysql.procs_priv表中
補充知識:
1、全局層級測試
創(chuàng)建一個測試賬號test,授予全局層級的權(quán)限。如下所示:
mysql> set global validate_password_policy=0; mysql> grant select,insert on *.* to test@'%' identified by 'test'; mysql> flush privileges;
用下面兩種方式查詢授予test的權(quán)限。如下所示:
mysql> show grants for test; mysql> select * from mysql.user where user='test'G;
2、數(shù)據(jù)庫層級測試
創(chuàng)建一個測試賬號test,授予數(shù)據(jù)庫層級的權(quán)限。如下所示:
mysql> drop user test; mysql> grant select,insert,update,delete on jpcpdb.* to test@'%' identified by 'test@123'; mysql> select * from mysql.user where user='test'G; --可以看到無任何授權(quán)。 mysql> show grants for test; mysql> select * from mysql.db where user='test'G;
3、表層級測試
創(chuàng)建一個測試賬號test,授予表層級的權(quán)限。如下所示:
mysql> drop user test; mysql> flush privileges; mysql> grant all on jpcpdb.user to test@'%' identified by 'test@123'; mysql> show grants for test; mysql> select * from mysql.tables_privG;
4、列層級測試
創(chuàng)建一個測試賬號test,授予列層級的權(quán)限。如下所示:
mysql> drop user test; mysql> flush privileges; mysql> grant select (id, name) on jpcpdb.user to test@'%' identified by 'test@123'; mysql> flush privileges; mysql> select * from mysql.columns_priv; mysql> show grants for test;
5、子程序?qū)蛹墱y試
創(chuàng)建一個測試賬號test,授子程序?qū)蛹壍臋?quán)限。如下所示:
mysql> DROP PROCEDURE IF EXISTS PRC_TEST; mysql> DELIMITER // mysql> CREATE PROCEDURE PRC_TEST() -> BEGIN -> SELECT * FROM user; -> END // mysql> DELIMITER ; mysql> grant execute on procedure jpcpdb.PRC_TEST to test@'%' identified by 'test@123'; mysql> flush privileges; mysql> show grants for test;
mysql> select * from mysql.procs_priv where User='test';
“mysql中有什么權(quán)限”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!