詳解如何對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行授權(quán)管理
前言
看過(guò)博主上一篇的盆友,可以Get到一個(gè)知識(shí)點(diǎn):數(shù)據(jù)授權(quán)(eg:grant xx to yy)。對(duì)了,數(shù)據(jù)這么敏感,必須遵循“分而治之,最小認(rèn)領(lǐng)”的原則。在這個(gè)大數(shù)據(jù)盛行的時(shí)代,數(shù)據(jù)顯然成為人類的第N個(gè)生產(chǎn)資料,沒(méi)有它,好像我們“站得不太高,看得不夠清,聽得不夠遠(yuǎn)”。所以如何管理它,越來(lái)越重要了。
今天博主繼續(xù)大話MySQL,助你了解它是如何完成授權(quán)的。Let’s Go~
Q:如何對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行授權(quán)管理
提示:本文示例均已MySQL5.7為例。
一、MySQL的“特權(quán)”
在學(xué)習(xí)如何授權(quán)前,咱們先來(lái)看看MySQL有哪些“可授之權(quán)”。
1. 權(quán)限級(jí)別
| 級(jí)別 | 說(shuō)明 |
|---|---|
| 全局 | 授予最高管理權(quán)限。 |
| 數(shù)據(jù)庫(kù) | 授予數(shù)據(jù)庫(kù)及其內(nèi)的所有對(duì)象的權(quán)限。 |
| 數(shù)據(jù)庫(kù)對(duì)象 | 授予數(shù)據(jù)庫(kù)對(duì)象(如表、索引、視圖和存儲(chǔ)例程)的權(quán)限。 |
2. 權(quán)限清單
為進(jìn)一步說(shuō)明MySQL可以提供的特權(quán),博主提供一個(gè)官方的列表:
| 權(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 |
針對(duì)每個(gè)授權(quán)項(xiàng),我們可以參考官方指導(dǎo)文檔進(jìn)行學(xué)習(xí),直接跳轉(zhuǎn)這里,進(jìn)行查閱。
二、授權(quán)操作
了解了以上的“特權(quán)”后,我們可以自由支配它們,分配給適合的人。
1. 查看權(quán)限
比如你想查看指定用戶(user)的權(quán)限,可以通過(guò)以下語(yǔ)句完成:
SHOW GRANTS FOR [USER]@[HOST];
查看用戶的非特權(quán)屬性,可通過(guò)以下語(yǔ)句完成:
SHOW CREATE USER [USER]@[HOST];
2. 分配權(quán)限
分配權(quán)限,統(tǒng)一使用以下語(yǔ)句完成:
grant xx privileges on [DB_NAME].[TABLE_NAME] to [USER]@[HOST] identified by [PASSWORD] with grant option;
這里博主有必要對(duì)這個(gè)語(yǔ)句,做一個(gè)特別介紹:
- grant
xxprivileges
授權(quán)的范圍,比如all、select、create等。 - on
[DB_NAME].[TABLE_NAME]
授權(quán)的對(duì)象,比如哪個(gè)庫(kù),哪個(gè)表。 - to
[USER]@[HOST]
授權(quán)的用戶訪問(wèn)控制,比如test用戶通過(guò)127.0.0.1訪問(wèn)數(shù)據(jù)庫(kù)。 - identified by
[PASSWORD]
授權(quán)的用戶訪問(wèn)密碼。
3. 回收權(quán)限
既然有分配,那么就有回收?;厥諔?yīng)該怎么操作,可通過(guò)以下語(yǔ)句完成:
revoke xx privileges on [DB_NAME].[TABLE_NAME] from [USER]@[HOST];
這里博主對(duì)這個(gè)語(yǔ)句,同樣做一個(gè)特別介紹:
- revoke
xxprivileges
撤銷/回收授權(quán)的范圍,比如all、select、create等。 - on
[DB_NAME].[TABLE_NAME]
撤銷/回收的對(duì)象,比如哪個(gè)庫(kù),哪個(gè)表。 - from
[USER]@[HOST]
撤銷/回收的用戶訪問(wèn)控制,比如test用戶通過(guò)127.0.0.1訪問(wèn)數(shù)據(jù)庫(kù)。
結(jié)語(yǔ)
本文對(duì)MySQL的權(quán)限操作進(jìn)行了一定的介紹。希望可對(duì)有需要的盆友提供一定的幫助。
到此這篇關(guān)于詳解如何對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行授權(quán)管理的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)授權(quán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL存儲(chǔ)過(guò)程的優(yōu)化實(shí)例
在編寫MySQL存儲(chǔ)過(guò)程的過(guò)程中,我們會(huì)時(shí)不時(shí)地需要對(duì)某些存儲(chǔ)過(guò)程進(jìn)行優(yōu)化,其目的是確保代碼的可讀性、正確性及運(yùn)行性能。本文以作者實(shí)際工作為背景,介紹了對(duì)某一個(gè)MySQL存儲(chǔ)過(guò)程優(yōu)化的整個(gè)過(guò)程。2016-07-07
老鳥帶你開發(fā)專業(yè)規(guī)范的MySQL啟動(dòng)腳本
這篇文章主要介紹了老鳥帶你開發(fā)專業(yè)規(guī)范的MySQL啟動(dòng)腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Windows MySQL修改配置文件my.ini不生效問(wèn)題
在Windows Server 2019上修改MySQL 5.6的安裝目錄下my.ini文件后,需要通過(guò)修改注冊(cè)表中的ImagePath值來(lái)確保MySQL讀取新的配置文件,修改時(shí)應(yīng)確保配置文件路徑正確,并且新配置不會(huì)覆蓋原有配置,以保證修改生效2025-01-01
集群運(yùn)維自動(dòng)化工具ansible使用playbook安裝mysql
本文主要介紹了如何使用playbook安裝mysql,需要的朋友可以參考下2014-07-07
MySQL視圖中用變量實(shí)現(xiàn)自動(dòng)加入序號(hào)功能
在 MySQL 中,視圖不支持直接使用變量來(lái)生成序號(hào),因?yàn)橐晥D是基于靜態(tài) SQL 查詢定義的,而變量是在運(yùn)行時(shí)動(dòng)態(tài)計(jì)算的,不過(guò),你可以通過(guò)一些技巧來(lái)實(shí)現(xiàn)類似的效果,以下是一個(gè)常見(jiàn)的方法,使用子查詢來(lái)初始化變量,然后在視圖中使用這些變量,需要的朋友可以參考下2024-10-10
Mysql InnoDB刪除數(shù)據(jù)后釋放磁盤空間的方法
這篇文章主要介紹了Mysql InnoDB刪除數(shù)據(jù)后釋放磁盤空間的方法,Innodb數(shù)據(jù)庫(kù)對(duì)于已經(jīng)刪除的數(shù)據(jù)只是標(biāo)記為刪除,并不真正釋放所占用的磁盤空間,這就導(dǎo)致InnoDB數(shù)據(jù)庫(kù)文件不斷增長(zhǎng),本文就講解釋放磁盤空間的方法,需要的朋友可以參考下2015-04-04
MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案
如果電腦是第一次安裝MySQL,一般不會(huì)出現(xiàn)這樣的報(bào)錯(cuò),如下圖所示,本文主要介紹了MySQL安裝出現(xiàn)starting the server報(bào)錯(cuò)的解決方案,感興趣的可以了解一下2024-07-07

