mysql数据库应用的权限层级_MySQL数据库的用户权限管理
嗨!各位小伙伴
今天翻了一下歷史記錄
MySQL 數(shù)據(jù)庫(kù)還有點(diǎn)內(nèi)容
今天開(kāi)始我們就來(lái)補(bǔ)上吧~
用戶(hù)權(quán)限管理
伙伴們要知道,在數(shù)據(jù)庫(kù)方面有兩個(gè)方向。一個(gè)是數(shù)據(jù)庫(kù)管理員(Database Administrator)簡(jiǎn)稱(chēng)DBA,一個(gè)是數(shù)據(jù)庫(kù)開(kāi)發(fā)工程師(Database Developer),
其中:
1) 數(shù)據(jù)庫(kù)開(kāi)發(fā)工程師的主要職責(zé)是設(shè)計(jì)和開(kāi)發(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)維管理。
不知道小伙伴們有沒(méi)有想往這方面發(fā)展的,當(dāng)然作為一個(gè)開(kāi)發(fā)人員,對(duì)數(shù)據(jù)庫(kù)還是要有一定的了解的,今天我們就來(lái)初步了解一下 MySQL 數(shù)據(jù)庫(kù)的權(quán)限管理。
首先 MySQL 是一個(gè)多用戶(hù)的數(shù)據(jù)庫(kù)系統(tǒng),按權(quán)限,用戶(hù)可以分為兩種:root 用戶(hù),超級(jí)管理員,和由 root 用戶(hù)創(chuàng)建的普通用戶(hù)。
用戶(hù)的權(quán)限要經(jīng)過(guò)兩個(gè)階段:
第一階段:有沒(méi)有權(quán)限鏈接到數(shù)據(jù)庫(kù),就是用戶(hù)名和密碼拉~
第二階段:有沒(méi)有權(quán)限對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作如:(create , drop , select , delete等等。)
第一階段
對(duì)于第一階段服務(wù)器判斷用戶(hù)有沒(méi)有權(quán)限鏈接依據(jù)的是三個(gè)參數(shù):
host:你從哪兒來(lái)?
user:你是誰(shuí)?
password:你的密碼是多少?
登錄連接命令。
mysql -h(host) -u(user) -p(password) -P(port)
其中 host 指的是你安裝數(shù)據(jù)庫(kù)的服務(wù)器的 IP 地址,user 是用戶(hù)名,password 是你的用戶(hù)密碼,-P 是你要連接的端口號(hào)。
現(xiàn)在我們來(lái)試一下:
現(xiàn)在我已經(jīng)鏈接上我的數(shù)據(jù)庫(kù)了(只有一臺(tái)電腦)。
現(xiàn)在我們來(lái)查一下MySQL數(shù)據(jù)庫(kù)。
用戶(hù)的信息都存儲(chǔ)在 mysql 的 user 表中。
select host,user,password from user;
host : 訪問(wèn)數(shù)據(jù)庫(kù)客戶(hù)端機(jī)器的IP地址。localhost 與 127.0.0.1 :代表本地
user : 用戶(hù)名稱(chēng)
password :密碼
我們看到在 localhost 中沒(méi)有用戶(hù)名和密碼也可以登陸數(shù)據(jù)庫(kù)
我們來(lái)試一下,現(xiàn)在成功登陸了呦~
我們沒(méi)有用戶(hù)名和密碼就登陸了我們的數(shù)據(jù)庫(kù),出于對(duì)數(shù)據(jù)的安全性考慮,我們來(lái)刪除這個(gè)空的用戶(hù),刪除的時(shí)候要注意用戶(hù)的權(quán)限,我們要登陸 root 用戶(hù)進(jìn)行刪除。現(xiàn)在這個(gè)空的用戶(hù)就被刪除了。
第二個(gè)階段
create user 命令
create user : 用于創(chuàng)建 MySQL 賬戶(hù)
語(yǔ)法:
create user username identified by 'pwd';
現(xiàn)在我們來(lái)創(chuàng)建一個(gè)賬號(hào) user1,
eg: create user user1 identified by '1234';
% :表示所有 IP 地址客戶(hù)端都可以訪問(wèn)。現(xiàn)在這邊只是有一個(gè)賬號(hào),沒(méi)有賬號(hào)權(quán)限,我們?cè)囍顷懸幌聗
登陸成功,但是看不到我們的數(shù)據(jù)庫(kù)(圖上的兩個(gè)一個(gè)是我們的默認(rèn)數(shù)據(jù)庫(kù),一個(gè)是練習(xí)數(shù)據(jù)庫(kù)),現(xiàn)在我們來(lái)給賬號(hào)分配權(quán)限。
grant 命令
grant : 命令用來(lái)管理訪問(wèn)權(quán)限,也可以用來(lái)創(chuàng)建和刪除賬號(hào)。
語(yǔ)法:
grant [權(quán)限1,權(quán)限2,...] on *.* to user@host identified by 'password';
常見(jiàn)的權(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)在我們來(lái)給賬號(hào) user1 分配權(quán)限。
eg:
grant all privileges on *.* to 'user1'@'localhost' identified by '1234';
flush privileges; 沖刷權(quán)限
現(xiàn)在我們?cè)賮?lái)登陸試一下。就可以看見(jiàn)我們數(shù)據(jù)庫(kù)中的內(nèi)容了
revoke 命令
revoke :用來(lái)收回權(quán)限
語(yǔ)法:
revoke [權(quán)限1,權(quán)限2,...] on *.* from user@host;
收回用戶(hù)user在host上訪問(wèn)數(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 來(lái)看一下~我們的權(quán)限都被收回了。
drop user 命令
drop user :用來(lái)刪除閑置或沒(méi)用的 MySQL 賬戶(hù)。
語(yǔ)法:
drop user user@host;
我們來(lái)回收賬號(hào) user1
drop user 'user1'@'localhost';
現(xiàn)在我們的賬號(hào) user1 就被刪除了。
今天的分享就到這了
小伙伴們加油了
總結(jié)
以上是生活随笔為你收集整理的mysql数据库应用的权限层级_MySQL数据库的用户权限管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql视图表怎么设置约束_MySQL
- 下一篇: 北京环球影城停车费怎么收费