MySQL資料庫8(十八)使用者許可權管理

2022-08-31 13:33:13 字數 2890 閱讀 5556

使用者許可權管理:在不同的專案中給不同的角色(開發者)不同的操作許可權,為了保證資料庫資料的安全

mysql需要客戶端進行連線認證才能進行伺服器操作,需要使用者資訊。mysql中所有使用者的資訊都儲存在mysql資料庫下的user表中。

預設的,在安裝mysql的時候,如果沒有建立匿名使用者,那麼意味著所有的使用者只有乙個;root超級使用者

ps:修改root使用者密碼: alter user'root'@'localhost' identified by '新密碼'; 

在mysql中,對使用者的使用者管理中,是由對應的host和user共同組成主鍵來區分使用者;

user:代表使用者的使用者名稱

理論上講,可採用兩種方案建立使用者:

1、直接使用root使用者在mysql.user表中插入記錄(不推薦)

2、專門用於建立使用者的sql指令

基本語法:create user 'username'@'host' identified by 『password』;

username:你將建立的使用者名稱

host:指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,如果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元%。萬用字元%可以用作整個主機名,或者用作主機名的一部分。如果主機名為空,表示是乙個萬用字元,但比%萬用字元通配範圍低。

password:該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器

檢視mysql.user是否存在新增的使用者

簡化建立使用者

注意:mysql中user是帶著host本身的(具有唯一性)

基本語法:drop user 'username'@'host';

mysql中提供了多種修改的方式,基本上都必須使用對應提供的乙個系統函式:password(),需要靠該函式對密碼進行加密處理。

使用專門的修改密碼的指令

基本語法: set password for 'username'@'host' = 『newpassword』;

如果是當前使用者:set password = 『newpassword』;

在mysql中將許可權管理分為三類:

1、資料許可權:增刪改查(select、update、delete、insert)

2、結構許可權:結構操作(create、drop)

3、管理許可權:許可權管理(create user、grant、revoke):通常只給管理員如此許可權

將許可權分配給指定的使用者:

基本語法:grant 許可權列表 on 資料庫/*.表名/* to 使用者 [with grant option];

許可權列表:使用逗號分隔,但是可以使用all privileges 代表全部許可權

資料庫.表名:可以是單錶(資料庫名字.表名),可以是具體某個資料庫(資料庫.*),也可以是整庫(*.*)

mysql中只有with grant option,對a使用者進行的授權,a可以授予給其他使用者,當收回對a的授權時,a授予給其他使用者的許可權不會被級聯收回。注意with grant option也可以被授予給其他使用者。

具體許可權檢視:單錶許可權只能看到資料庫中的一張表

show語句的乙個變體用來檢視使用者被授予的許可權:

許可權**:將許可權從使用者手中收回。

基本語法:revoke 許可權列表/all privileges on 資料庫/*.表名/* from 使用者;

授予許可權時如果有with grant option必須再執行

revoke grant option from 'test1'@'localhost';

完整才能**其許可權。

許可權**,同樣不需要重新整理,使用者馬上就會感受到

(1)flush;重新整理,將當前對使用者的許可權操作,進行乙個重新整理,將操作的具體內容同步到對應的表中。此操作需要在mysql命令提示符下執行(需要以管理員身份登入)。

基本語法:flush privileges;

(2)mysqladmin flush-privileges

(3)mysqladmin reload

(2)和(3)需要在作業系統環境下執行。

最後,mysql伺服器將在重新啟動時重新載入授權表。

當使用者下次再連線時,全域性級別許可權將再次被檢查。當下乙個use語句觸發時,資料庫許可權將被檢查,而表級別和列級別許可權將在使用者下次請求時檢查。

如果忘記了root使用者密碼,就需要去找回或者重置root使用者密碼

mysql資料庫使用者許可權管理

知識點總結 三句話 1.create user golden localhost identified by gd2017 2.grant all on test.to golden localhost 3.flush privileges 解釋 1 create user 語句用於建立使用者 及密...

MySQL資料庫使用者許可權操作

一 建立使用者與資料操作許可權的分配 1.1 指定使用者名稱,登入ip 如果不限制ip則改為 密碼 create user user name identified by pwd 1.2 為已建立的使用者開放新的登入ip 假如該使用者已有增 刪 改 查 建立表的許可權 grant select,in...

mysql資料庫新增使用者與使用者許可權

mysql資料庫新增使用者及分配許可權的方法。1,建立使用者並分配許可權 insert into mysql.user host,user,password values localhost phplamp password 1234 建立使用者 grant all privileges on db...