MySQL權(quán)限USAGE和ALL PRIVILEGES的用法
USAGE
含義:USAGE
權(quán)限是一個(gè)非?;A(chǔ)的權(quán)限,它實(shí)際上并不賦予用戶執(zhí)行任何數(shù)據(jù)庫操作的權(quán)限,如查詢、插入、更新或刪除數(shù)據(jù)等。它的主要目的是允許用戶連接到MySQL服務(wù)器,但除此之外沒有其他操作權(quán)限。當(dāng)你只想讓用戶能夠登錄到數(shù)據(jù)庫,而不希望他們進(jìn)行任何數(shù)據(jù)操作時(shí),就會(huì)使用這個(gè)權(quán)限。
用法:通常在創(chuàng)建用戶時(shí),如果你不想立刻指定具體的權(quán)限,而又希望用戶能夠登錄驗(yàn)證,可以使用USAGE
權(quán)限。創(chuàng)建用戶不授予權(quán)限時(shí),默認(rèn)為USAGE
權(quán)限。例如:
CREATE USER 'limited_user'@'localhost' IDENTIFIED BY 'password';
ALL PRIVILEGES
含義:ALL PRIVILEGES
代表授予所有可能的權(quán)限,包括但不限于對(duì)數(shù)據(jù)庫的創(chuàng)建、刪除、修改權(quán)限,對(duì)表的數(shù)據(jù)操作權(quán)限(如SELECT、INSERT、UPDATE、DELETE),以及執(zhí)行存儲(chǔ)過程、管理用戶等高級(jí)權(quán)限。簡(jiǎn)而言之,擁有ALL PRIVILEGES
的用戶幾乎可以執(zhí)行數(shù)據(jù)庫中的任何操作。
用法:當(dāng)你想要給某個(gè)用戶分配全面的數(shù)據(jù)庫管理權(quán)限時(shí),就會(huì)使用ALL PRIVILEGES
。這通常是為數(shù)據(jù)庫管理員或者需要廣泛操作權(quán)限的用戶準(zhǔn)備的。例如:
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' IDENTIFIED BY 'password';
這里,admin_user
被賦予了對(duì)所有數(shù)據(jù)庫和表的所有權(quán)限。
mysql中all privileges包含哪些權(quán)限
mysql> grant all privileges on test.* to 'ybb'@'%' identified by 'ybb'; Query OK, 0 rows affected (0.07 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from mysql.user where user='ybb' and host='%'; +-----------+---------+-------------------------------------------+ | host | user | password | +-----------+---------+-------------------------------------------+ | % | ybb | *C85EE1EAA8E69C43CE790C4CFFCF1ED2F88039EB | +-----------+---------+-------------------------------------------+ 1 rows in set (0.00 sec) mysql> show grants for ybb; +---------------------------------------------------------------------------------------------------+ | Grants for ybb@% | +---------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'ybb'@'%' IDENTIFIED BY PASSWORD '*C85EE1EAA8E69C43CE790C4CFFCF1ED2F88039EB' | | GRANT ALL PRIVILEGES ON `test`.* TO 'ybb'@'%' | +---------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> revoke insert on test.* from ybb@'%'; Query OK, 0 rows affected (0.00 sec) mysql> show grants for ybb; +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for ybb@% | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'ybb'@'%' IDENTIFIED BY PASSWORD '*C85EE1EAA8E69C43CE790C4CFFCF1ED2F88039EB' | | GRANT SELECT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `test`.* TO 'ybb'@'%' | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql>
從上可以看出all privileges包含以下權(quán)限:
select, insert, update, delete, create, drop, references, index, alter, create temporary tables, lock tables, execute, create view, show view, create routine, alter routine, event, trigger
注意點(diǎn)
- 授予
ALL PRIVILEGES
時(shí)需謹(jǐn)慎,因?yàn)樗o予了用戶極大的權(quán)限,可能對(duì)數(shù)據(jù)庫安全構(gòu)成威脅。 USAGE
雖然看起來權(quán)限很有限,但在某些場(chǎng)景下非常有用,比如僅為用戶提供驗(yàn)證連接的能力,而不涉及數(shù)據(jù)操作,可以作為一種安全實(shí)踐。- 在實(shí)際操作中,應(yīng)遵循最小權(quán)限原則,即只給予執(zhí)行任務(wù)所需的最小必要權(quán)限,以保障數(shù)據(jù)庫的安全性。
到此這篇關(guān)于MySQL權(quán)限USAGE和ALL PRIVILEGES的用法的文章就介紹到這了,更多相關(guān)MySQL權(quán)限USAGE和ALL PRIVILEGES內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql中g(shù)rant?all?privileges?on賦給用戶遠(yuǎn)程權(quán)限方式
- 解決mysql數(shù)據(jù)庫設(shè)置遠(yuǎn)程連接權(quán)限執(zhí)行g(shù)rant all privileges on *.* to 'root'@'%' identified by '密碼' with grant optio報(bào)錯(cuò)
- 解決mysql的賦權(quán)操作之GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION問題
相關(guān)文章
mysql中提高Order by語句查詢效率的兩個(gè)思路分析
在MySQL數(shù)據(jù)庫中,Order by語句的使用頻率是比較高的。但是眾所周知,在使用這個(gè)語句時(shí),往往會(huì)降低數(shù)據(jù)查詢的性能。2011-03-03dbeaver如何導(dǎo)出mysql數(shù)據(jù)庫
DBeaver導(dǎo)出MySQL數(shù)據(jù)庫的簡(jiǎn)便方法:右鍵點(diǎn)擊表選擇“Tools”->“Dump database”,設(shè)定輸出文件夾(例如桌面),點(diǎn)擊開始即可導(dǎo)出SQL文件,此方法基于個(gè)人經(jīng)驗(yàn),供參考2024-10-10MySQL默認(rèn)值(DEFAULT)和非空約束(NOT NULL)的實(shí)現(xiàn)
本文主要介紹了MySQL默認(rèn)值(DEFAULT)和非空約束(NOT NULL)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05mysql把一個(gè)表某個(gè)字段的內(nèi)容復(fù)制到另一張表的某個(gè)字段的SQL語句寫法
有時(shí)候,我們需要復(fù)制某個(gè)字段一整列的數(shù)據(jù)到另外一個(gè)新的字段中,或是需要把某個(gè)表的某個(gè)字段的值跨表復(fù)制到另一個(gè)表中的某個(gè)字段,本文就羅列了一些SQL語句寫法,需要的朋友可以參考下2014-04-04MySQL存儲(chǔ)過程中使用動(dòng)態(tài)行轉(zhuǎn)列
這篇文章主要為大家介紹了MySQL存儲(chǔ)過程中使用動(dòng)態(tài)行轉(zhuǎn)列的相關(guān)資料,需要的朋友可以參考下2016-01-01MySQL limit分頁大偏移量慢的原因及優(yōu)化方案
這篇文章主要介紹了MySQL limit分頁大偏移量慢的原因及優(yōu)化方案,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2020-11-11mysql增量備份及斷點(diǎn)恢復(fù)腳本實(shí)例
生產(chǎn)環(huán)境中在mysql中誤操作是非常正常的,所以就需要用到mysql的增量備份恢復(fù)。增量備份是我們經(jīng)常用到的,它可以指定某個(gè)誤操作的時(shí)間以及位置點(diǎn)進(jìn)行數(shù)據(jù)恢復(fù),更加準(zhǔn)確的恢復(fù)我們想要還原的數(shù)據(jù)。2018-09-09