詳解如何對MySQL數(shù)據(jù)庫進(jìn)行授權(quán)管理
前言
看過博主上一篇的盆友,可以Get到一個知識點(diǎn):數(shù)據(jù)授權(quán)(eg:grant xx to yy)。對了,數(shù)據(jù)這么敏感,必須遵循“分而治之,最小認(rèn)領(lǐng)”的原則。在這個大數(shù)據(jù)盛行的時代,數(shù)據(jù)顯然成為人類的第N個生產(chǎn)資料,沒有它,好像我們“站得不太高,看得不夠清,聽得不夠遠(yuǎn)”。所以如何管理它,越來越重要了。
今天博主繼續(xù)大話MySQL,助你了解它是如何完成授權(quán)的。Let’s Go~
Q:如何對MySQL數(shù)據(jù)庫進(jìn)行授權(quán)管理
提示:本文示例均已MySQL5.7為例。
一、MySQL的“特權(quán)”
在學(xué)習(xí)如何授權(quán)前,咱們先來看看MySQL有哪些“可授之權(quán)”
。
1. 權(quán)限級別
級別 | 說明 |
---|---|
全局 | 授予最高管理權(quán)限。 |
數(shù)據(jù)庫 | 授予數(shù)據(jù)庫及其內(nèi)的所有對象的權(quán)限。 |
數(shù)據(jù)庫對象 | 授予數(shù)據(jù)庫對象(如表、索引、視圖和存儲例程)的權(quán)限。 |
2. 權(quán)限清單
為進(jìn)一步說明MySQL可以提供的特權(quán),博主提供一個官方的列表:
權(quán)限 | 授權(quán)列表 | 作用域 |
---|---|---|
ALL [PRIVILEGES] | Synonym for “all privileges” | Server administration |
ALTER | Alter_priv | Tables |
ALTER ROUTINE | Alter_routine_priv | Stored routines |
CREATE | Create_priv | Databases, tables, or indexes |
CREATE ROUTINE | Create_routine_priv | Stored routines |
CREATE TABLESPACE | Create_tablespace_priv | Server administration |
CREATE TEMPORARY TABLES | Create_tmp_table_priv | Tables |
CREATE USER | Create_user_priv | Server administration |
CREATE VIEW | Create_view_priv | Views |
DELETE | Delete_priv | Tables |
DROP | Drop_priv | Databases, tables, or views |
EVENT | Event_priv | Databases |
EXECUTE | Execute_priv | Stored routines |
FILE | File_priv | File access on server host |
GRANT OPTION | Grant_priv | Databases, tables, or stored routines |
INDEX | Index_priv | Tables |
INSERT | Insert_priv | Tables or columns |
LOCK TABLES | Lock_tables_priv | Databases |
PROCESS | Process_priv | Server administration |
PROXY | See proxies_priv table | Server administration |
REFERENCES | References_priv | Databases or tables |
RELOAD | Reload_priv | Server administration |
REPLICATION CLIENT | Repl_client_priv | Server administration |
REPLICATION SLAVE | Repl_slave_priv | Server administration |
SELECT | Select_priv | Tables or columns |
SHOW DATABASES | Show_db_priv | Server administration |
SHOW VIEW | Show_view_priv | Views |
SHUTDOWN | Shutdown_priv | Server administration |
SUPER | Super_priv | Server administration |
TRIGGER | Trigger_priv | Tables |
UPDATE | Update_priv | Tables or columns |
USAGE | Synonym for “no privileges” | Server administration |
針對每個授權(quán)項(xiàng),我們可以參考官方指導(dǎo)文檔進(jìn)行學(xué)習(xí),直接跳轉(zhuǎn)這里,進(jìn)行查閱。
二、授權(quán)操作
了解了以上的“特權(quán)”
后,我們可以自由支配它們,分配給適合的人。
1. 查看權(quán)限
比如你想查看指定用戶(user)的權(quán)限,可以通過以下語句完成:
SHOW GRANTS FOR [USER]@[HOST];
查看用戶的非特權(quán)屬性,可通過以下語句完成:
SHOW CREATE USER [USER]@[HOST];
2. 分配權(quán)限
分配權(quán)限,統(tǒng)一使用以下語句完成:
grant xx privileges on [DB_NAME].[TABLE_NAME] to [USER]@[HOST] identified by [PASSWORD] with grant option;
這里博主有必要對這個語句,做一個特別介紹:
- grant
xx
privileges
授權(quán)的范圍,比如all、select、create等。 - on
[DB_NAME]
.[TABLE_NAME]
授權(quán)的對象,比如哪個庫,哪個表。 - to
[USER]
@[HOST]
授權(quán)的用戶訪問控制,比如test用戶通過127.0.0.1訪問數(shù)據(jù)庫。 - identified by
[PASSWORD]
授權(quán)的用戶訪問密碼。
3. 回收權(quán)限
既然有分配,那么就有回收。回收應(yīng)該怎么操作,可通過以下語句完成:
revoke xx privileges on [DB_NAME].[TABLE_NAME] from [USER]@[HOST];
這里博主對這個語句,同樣做一個特別介紹:
- revoke
xx
privileges
撤銷/回收授權(quán)的范圍,比如all、select、create等。 - on
[DB_NAME]
.[TABLE_NAME]
撤銷/回收的對象,比如哪個庫,哪個表。 - from
[USER]
@[HOST]
撤銷/回收的用戶訪問控制,比如test用戶通過127.0.0.1訪問數(shù)據(jù)庫。
結(jié)語
本文對MySQL的權(quán)限操作進(jìn)行了一定的介紹。希望可對有需要的盆友提供一定的幫助。
到此這篇關(guān)于詳解如何對MySQL數(shù)據(jù)庫進(jìn)行授權(quán)管理的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)授權(quán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql中如何去除小數(shù)點(diǎn)后面多余的0
這篇文章主要介紹了mysql 中去除小數(shù)點(diǎn)后面多余的0的方法 ,需要的朋友可以參考下2014-03-03driver-class-name:?com.mysql.jdbc.Driver爆紅的問題解決
在springboot項(xiàng)目工程中想要進(jìn)行數(shù)據(jù)庫配置,driver-class-name:?com.mysql.cj.jdbc.Driver始終報錯,本文就來介紹一下如何解決,感興趣的可以了解一下2024-07-07Linux下安裝mysql的方式(yum和源碼編譯兩種方式)
這里介紹Linux下兩種安裝mysql的方式:yum安裝和源碼編譯安裝。需要的朋友可以參考下2018-02-02sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實(shí)例
如果要在程序運(yùn)行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學(xué)會使用SQL語句,下面這篇文章主要給大家介紹了關(guān)于sql查詢語句教程之插入、更新和刪除數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Mysql ID生成策略的三種方法選擇及優(yōu)缺點(diǎn)
mysql ID生成策略一般常用的有三種,包括自增、UUID 以及雪花算法,本文主要介紹了Mysql ID生成策略的三種方法選擇及優(yōu)缺點(diǎn),具有一定的參考價值,感興趣的可以了解一下2024-06-06