MySQL權(quán)限USAGE和ALL PRIVILEGES的用法
USAGE
含義:USAGE權(quán)限是一個非常基礎(chǔ)的權(quán)限,它實際上并不賦予用戶執(zhí)行任何數(shù)據(jù)庫操作的權(quán)限,如查詢、插入、更新或刪除數(shù)據(jù)等。它的主要目的是允許用戶連接到MySQL服務(wù)器,但除此之外沒有其他操作權(quán)限。當你只想讓用戶能夠登錄到數(shù)據(jù)庫,而不希望他們進行任何數(shù)據(jù)操作時,就會使用這個權(quán)限。
用法:通常在創(chuàng)建用戶時,如果你不想立刻指定具體的權(quán)限,而又希望用戶能夠登錄驗證,可以使用USAGE權(quán)限。創(chuàng)建用戶不授予權(quán)限時,默認為USAGE權(quán)限。例如:
CREATE USER 'limited_user'@'localhost' IDENTIFIED BY 'password';
ALL PRIVILEGES
含義:ALL PRIVILEGES代表授予所有可能的權(quán)限,包括但不限于對數(shù)據(jù)庫的創(chuàng)建、刪除、修改權(quán)限,對表的數(shù)據(jù)操作權(quán)限(如SELECT、INSERT、UPDATE、DELETE),以及執(zhí)行存儲過程、管理用戶等高級權(quán)限。簡而言之,擁有ALL PRIVILEGES的用戶幾乎可以執(zhí)行數(shù)據(jù)庫中的任何操作。
用法:當你想要給某個用戶分配全面的數(shù)據(jù)庫管理權(quán)限時,就會使用ALL PRIVILEGES。這通常是為數(shù)據(jù)庫管理員或者需要廣泛操作權(quán)限的用戶準備的。例如:
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' IDENTIFIED BY 'password';
這里,admin_user被賦予了對所有數(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
注意點
- 授予
ALL PRIVILEGES時需謹慎,因為它給予了用戶極大的權(quán)限,可能對數(shù)據(jù)庫安全構(gòu)成威脅。 USAGE雖然看起來權(quán)限很有限,但在某些場景下非常有用,比如僅為用戶提供驗證連接的能力,而不涉及數(shù)據(jù)操作,可以作為一種安全實踐。- 在實際操作中,應(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡單了解MySQL union all與union的區(qū)別
這篇文章主要介紹了簡單了解MySQL union all與union的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
MySQL索引優(yōu)化之適合構(gòu)建索引的幾種情況詳解
我們知道正確的建立索引可以加快數(shù)據(jù)庫的查詢,但是如果索引建立不當,或者隨意的建立過多索引不僅不會提升數(shù)據(jù)庫的效率,反而在進行數(shù)據(jù)更新操作的時候需要耗費系統(tǒng)資源對索引進行維護,同時占用大量的存儲空間來對索引進行存儲,本文主要講述在哪些情況下適合建立索引2022-07-07
SQL中current_date()函數(shù)的實現(xiàn)
日期時間類型的數(shù)據(jù)也是經(jīng)常要用到的,SQL中也提供了一些函數(shù)對這些數(shù)據(jù)進行處理,本文主要介紹了SQL中current_date()函數(shù)的實現(xiàn),具有一定的參考價值2024-02-02

