詳解如何對MySQL數(shù)據(jù)庫進行授權管理
前言
看過博主上一篇的盆友,可以Get到一個知識點:數(shù)據(jù)授權(eg:grant xx to yy)。對了,數(shù)據(jù)這么敏感,必須遵循“分而治之,最小認領”的原則。在這個大數(shù)據(jù)盛行的時代,數(shù)據(jù)顯然成為人類的第N個生產(chǎn)資料,沒有它,好像我們“站得不太高,看得不夠清,聽得不夠遠”。所以如何管理它,越來越重要了。
今天博主繼續(xù)大話MySQL,助你了解它是如何完成授權的。Let’s Go~
Q:如何對MySQL數(shù)據(jù)庫進行授權管理
提示:本文示例均已MySQL5.7為例。
一、MySQL的“特權”
在學習如何授權前,咱們先來看看MySQL有哪些“可授之權”
。
1. 權限級別
級別 | 說明 |
---|---|
全局 | 授予最高管理權限。 |
數(shù)據(jù)庫 | 授予數(shù)據(jù)庫及其內(nèi)的所有對象的權限。 |
數(shù)據(jù)庫對象 | 授予數(shù)據(jù)庫對象(如表、索引、視圖和存儲例程)的權限。 |
2. 權限清單
為進一步說明MySQL可以提供的特權,博主提供一個官方的列表:
權限 | 授權列表 | 作用域 |
---|---|---|
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 |
針對每個授權項,我們可以參考官方指導文檔進行學習,直接跳轉這里,進行查閱。
二、授權操作
了解了以上的“特權”
后,我們可以自由支配它們,分配給適合的人。
1. 查看權限
比如你想查看指定用戶(user)的權限,可以通過以下語句完成:
SHOW GRANTS FOR [USER]@[HOST];
查看用戶的非特權屬性,可通過以下語句完成:
SHOW CREATE USER [USER]@[HOST];
2. 分配權限
分配權限,統(tǒng)一使用以下語句完成:
grant xx privileges on [DB_NAME].[TABLE_NAME] to [USER]@[HOST] identified by [PASSWORD] with grant option;
這里博主有必要對這個語句,做一個特別介紹:
- grant
xx
privileges
授權的范圍,比如all、select、create等。 - on
[DB_NAME]
.[TABLE_NAME]
授權的對象,比如哪個庫,哪個表。 - to
[USER]
@[HOST]
授權的用戶訪問控制,比如test用戶通過127.0.0.1訪問數(shù)據(jù)庫。 - identified by
[PASSWORD]
授權的用戶訪問密碼。
3. 回收權限
既然有分配,那么就有回收?;厥諔撛趺床僮?,可通過以下語句完成:
revoke xx privileges on [DB_NAME].[TABLE_NAME] from [USER]@[HOST];
這里博主對這個語句,同樣做一個特別介紹:
- revoke
xx
privileges
撤銷/回收授權的范圍,比如all、select、create等。 - on
[DB_NAME]
.[TABLE_NAME]
撤銷/回收的對象,比如哪個庫,哪個表。 - from
[USER]
@[HOST]
撤銷/回收的用戶訪問控制,比如test用戶通過127.0.0.1訪問數(shù)據(jù)庫。
結語
本文對MySQL的權限操作進行了一定的介紹。希望可對有需要的盆友提供一定的幫助。
到此這篇關于詳解如何對MySQL數(shù)據(jù)庫進行授權管理的文章就介紹到這了,更多相關MySQL數(shù)據(jù)授權內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
driver-class-name:?com.mysql.jdbc.Driver爆紅的問題解決
在springboot項目工程中想要進行數(shù)據(jù)庫配置,driver-class-name:?com.mysql.cj.jdbc.Driver始終報錯,本文就來介紹一下如何解決,感興趣的可以了解一下2024-07-07Linux下安裝mysql的方式(yum和源碼編譯兩種方式)
這里介紹Linux下兩種安裝mysql的方式:yum安裝和源碼編譯安裝。需要的朋友可以參考下2018-02-02sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實例
如果要在程序運行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學會使用SQL語句,下面這篇文章主要給大家介紹了關于sql查詢語句教程之插入、更新和刪除數(shù)據(jù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06