MySQL數(shù)據(jù)庫(kù)的用戶權(quán)限管理

嗨!各位小伙伴

今天翻了一下歷史記錄

MySQL 數(shù)據(jù)庫(kù)還有點(diǎn)內(nèi)容

今天開始我們就來補(bǔ)上吧~

用戶權(quán)限管理

伙伴們要知道,在數(shù)據(jù)庫(kù)方面有兩個(gè)方向。一個(gè)是數(shù)據(jù)庫(kù)管理員(Database Administrator)簡(jiǎn)稱DBA,一個(gè)是數(shù)據(jù)庫(kù)開發(fā)工程師(Database Developer),

其中:

1) 數(shù)據(jù)庫(kù)開發(fā)工程師的主要職責(zé)是設(shè)計(jì)和開發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)應(yīng)用軟件系統(tǒng),側(cè)重于軟件研發(fā);

2) DBA 的主要職責(zé)是運(yùn)維和管理數(shù)據(jù)庫(kù)管理系統(tǒng),側(cè)重于運(yùn)維管理。

不知道小伙伴們有沒有想往這方面發(fā)展的,當(dāng)然作為一個(gè)開發(fā)人員,對(duì)數(shù)據(jù)庫(kù)還是要有一定的了解的,今天我們就來初步了解一下?MySQL 數(shù)據(jù)庫(kù)的權(quán)限管理。

首先 MySQL 是一個(gè)多用戶的數(shù)據(jù)庫(kù)系統(tǒng),按權(quán)限,用戶可以分為兩種:root 用戶,超級(jí)管理員,和由 root 用戶創(chuàng)建的普通用戶。

用戶的權(quán)限要經(jīng)過兩個(gè)階段:

第一階段:有沒有權(quán)限鏈接到數(shù)據(jù)庫(kù),就是用戶名和密碼拉~

第二階段:有沒有權(quán)限對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作如:(create , drop , select , delete等等。)

第一階段

對(duì)于第一階段服務(wù)器判斷用戶有沒有權(quán)限鏈接依據(jù)的是三個(gè)參數(shù):

host:你從哪兒來?

user:你是誰?

password:你的密碼是多少?

登錄連接命令。

mysql -h(host) -u(user) -p(password) -P(port)

其中 host 指的是你安裝數(shù)據(jù)庫(kù)的服務(wù)器的 IP 地址,user 是用戶名,password 是你的用戶密碼,-P 是你要連接的端口號(hào)。

現(xiàn)在我們來試一下:

現(xiàn)在我已經(jīng)鏈接上我的數(shù)據(jù)庫(kù)了(只有一臺(tái)電腦)。

現(xiàn)在我們來查一下MySQL數(shù)據(jù)庫(kù)。

用戶的信息都存儲(chǔ)在 mysql 的 user 表中。

select host,user,password from user;

host : 訪問數(shù)據(jù)庫(kù)客戶端機(jī)器的IP地址。localhost 與 127.0.0.1 :代表本地

user : 用戶名稱

password :密碼

我們看到在 localhost 中沒有用戶名和密碼也可以登陸數(shù)據(jù)庫(kù)

我們來試一下,現(xiàn)在成功登陸了呦~

我們沒有用戶名和密碼就登陸了我們的數(shù)據(jù)庫(kù),出于對(duì)數(shù)據(jù)的安全性考慮,我們來刪除這個(gè)空的用戶,刪除的時(shí)候要注意用戶的權(quán)限,我們要登陸 root 用戶進(jìn)行刪除。現(xiàn)在這個(gè)空的用戶就被刪除了。

第二個(gè)階段

create user 命令

create user??: 用于創(chuàng)建 MySQL 賬戶

語法:

create user username identified by 'pwd';

現(xiàn)在我們來創(chuàng)建一個(gè)賬號(hào)?user1,

eg: create user user1 identified by '1234';

% :表示所有 IP 地址客戶端都可以訪問。現(xiàn)在這邊只是有一個(gè)賬號(hào),沒有賬號(hào)權(quán)限,我們?cè)囍顷懸幌聗

登陸成功,但是看不到我們的數(shù)據(jù)庫(kù)(圖上的兩個(gè)一個(gè)是我們的默認(rèn)數(shù)據(jù)庫(kù),一個(gè)是練習(xí)數(shù)據(jù)庫(kù)),現(xiàn)在我們來給賬號(hào)分配權(quán)限。

grant 命令

grant : 命令用來管理訪問權(quán)限,也可以用來創(chuàng)建和刪除賬號(hào)。

語法:

grant [權(quán)限1,權(quán)限2,...] on *.* to user@host identified by 'password';

常見的權(quán)限:

all, create, drop, insert, update, delete,select

把所有的權(quán)限給賬號(hào)名為 user,密碼為 password 的賬號(hào)

grant all privileges on *.* to user@host identified by 'password';

現(xiàn)在我們來給賬號(hào)?user1 分配權(quán)限。

eg:

grant all privileges on *.* to 'user1'@'localhost' identified by '1234';

flush privileges; ?沖刷權(quán)限

現(xiàn)在我們?cè)賮淼顷懺囈幌隆>涂梢钥匆娢覀償?shù)據(jù)庫(kù)中的內(nèi)容了

revoke 命令?

revoke :用來收回權(quán)限

語法:

revoke [權(quán)限1,權(quán)限2,...] on *.* from user@host;

收回用戶user在host上訪問數(shù)據(jù)庫(kù)的所有權(quán)限。

revoke all privileges on *.* from user@host;

現(xiàn)在我們收回 user1 的所有權(quán)限。

revoke all privileges on . from 'user1'@'localhost';

登陸 user1 來看一下~我們的權(quán)限都被收回了。

drop user 命令?

drop user :用來刪除閑置或沒用的 MySQL 賬戶。

語法:

drop user user@host;

我們來回收賬號(hào)?user1

drop user 'user1'@'localhost';

現(xiàn)在我們的賬號(hào) user1 就被刪除了。

今天的分享就到這了

小伙伴們加油了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容