MySQL權(quán)限USAGE和ALL PRIVILEGES的用法
USAGE
含義:USAGE權(quán)限是一個(gè)非?;A(chǔ)的權(quán)限,它實(shí)際上并不賦予用戶執(zhí)行任何數(shù)據(jù)庫(kù)操作的權(quán)限,如查詢、插入、更新或刪除數(shù)據(jù)等。它的主要目的是允許用戶連接到MySQL服務(wù)器,但除此之外沒(méi)有其他操作權(quán)限。當(dāng)你只想讓用戶能夠登錄到數(shù)據(jù)庫(kù),而不希望他們進(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ù)庫(kù)的創(chuàng)建、刪除、修改權(quán)限,對(duì)表的數(shù)據(jù)操作權(quán)限(如SELECT、INSERT、UPDATE、DELETE),以及執(zhí)行存儲(chǔ)過(guò)程、管理用戶等高級(jí)權(quán)限。簡(jiǎn)而言之,擁有ALL PRIVILEGES的用戶幾乎可以執(zhí)行數(shù)據(jù)庫(kù)中的任何操作。
用法:當(dāng)你想要給某個(gè)用戶分配全面的數(shù)據(jù)庫(kù)管理權(quán)限時(shí),就會(huì)使用ALL PRIVILEGES。這通常是為數(shù)據(jù)庫(kù)管理員或者需要廣泛操作權(quán)限的用戶準(zhǔn)備的。例如:
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' IDENTIFIED BY 'password';
這里,admin_user被賦予了對(duì)所有數(shù)據(jù)庫(kù)和表的所有權(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ù)庫(kù)安全構(gòu)成威脅。 USAGE雖然看起來(lái)權(quán)限很有限,但在某些場(chǎng)景下非常有用,比如僅為用戶提供驗(yàn)證連接的能力,而不涉及數(shù)據(jù)操作,可以作為一種安全實(shí)踐。- 在實(shí)際操作中,應(yīng)遵循最小權(quán)限原則,即只給予執(zhí)行任務(wù)所需的最小必要權(quán)限,以保障數(shù)據(jù)庫(kù)的安全性。
到此這篇關(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ù)庫(kù)設(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問(wèn)題
相關(guān)文章
mysql中提高Order by語(yǔ)句查詢效率的兩個(gè)思路分析
在MySQL數(shù)據(jù)庫(kù)中,Order by語(yǔ)句的使用頻率是比較高的。但是眾所周知,在使用這個(gè)語(yǔ)句時(shí),往往會(huì)降低數(shù)據(jù)查詢的性能。2011-03-03
dbeaver如何導(dǎo)出mysql數(shù)據(jù)庫(kù)
DBeaver導(dǎo)出MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)便方法:右鍵點(diǎn)擊表選擇“Tools”->“Dump database”,設(shè)定輸出文件夾(例如桌面),點(diǎn)擊開(kāi)始即可導(dǎo)出SQL文件,此方法基于個(gè)人經(jīng)驗(yàn),供參考2024-10-10
MySQL默認(rèn)值(DEFAULT)和非空約束(NOT NULL)的實(shí)現(xiàn)
本文主要介紹了MySQL默認(rèn)值(DEFAULT)和非空約束(NOT NULL)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
mysql把一個(gè)表某個(gè)字段的內(nèi)容復(fù)制到另一張表的某個(gè)字段的SQL語(yǔ)句寫(xiě)法
有時(shí)候,我們需要復(fù)制某個(gè)字段一整列的數(shù)據(jù)到另外一個(gè)新的字段中,或是需要把某個(gè)表的某個(gè)字段的值跨表復(fù)制到另一個(gè)表中的某個(gè)字段,本文就羅列了一些SQL語(yǔ)句寫(xiě)法,需要的朋友可以參考下2014-04-04
MySQL存儲(chǔ)過(guò)程中使用動(dòng)態(tài)行轉(zhuǎn)列
這篇文章主要為大家介紹了MySQL存儲(chǔ)過(guò)程中使用動(dòng)態(tài)行轉(zhuǎn)列的相關(guān)資料,需要的朋友可以參考下2016-01-01
MySQL limit分頁(yè)大偏移量慢的原因及優(yōu)化方案
這篇文章主要介紹了MySQL limit分頁(yè)大偏移量慢的原因及優(yōu)化方案,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-11-11
mysql增量備份及斷點(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

