MySQL8.0 創(chuàng)建用戶及授權(quán)

什么時候會用到

  • 對接外系統(tǒng)時,需要給其余系統(tǒng)開放訪問權(quán)限
  • 本系統(tǒng)中,分權(quán)限管理數(shù)據(jù),防止root權(quán)限刪庫跑路??

mysql版本

MySql8.0+

具體步驟

1.命令行進入MySql

使用 mysql -u#UserName -p#PassWord 命令進入MySql

#UserName 代表你的MySql用戶名</br>
#PassWord 代表你的MySql密碼

??本狗的用戶名是root,密碼是root
mysql -uroot -proot
命令行進入MySql.png

2.進入數(shù)據(jù)庫

如果沒有創(chuàng)建數(shù)據(jù)庫則先使用命令,若已存在數(shù)據(jù)庫則跳過此步驟

create database #databaseName;

#databaseName 代表你操作的數(shù)據(jù)庫

??本狗要創(chuàng)建的是b2b數(shù)據(jù)庫,切記加上分號;
create database b2b;

use databaseName;

#databaseName 代表你操作的數(shù)據(jù)庫

??本狗要操作的是b2b數(shù)據(jù)庫,切記加上分號;
use b2b;
進入數(shù)據(jù)庫.png

3.創(chuàng)建用戶

create user '#userName'@'#host' identified by '#passWord';

#userName 代表你要創(chuàng)建的此數(shù)據(jù)庫的新用戶賬號</br>
#host 代表訪問權(quán)限,如下

  • %代表通配所有host地址權(quán)限(可遠(yuǎn)程訪問)
  • localhost為本地權(quán)限(不可遠(yuǎn)程訪問)
  • 指定特殊Ip訪問權(quán)限 如10.138.106.102

#passWord 代表你要創(chuàng)建的此數(shù)據(jù)庫的新用密碼

??本狗要創(chuàng)建的用戶是testUser,密碼是Haier...123,并且可遠(yuǎn)程訪問
??密碼強度需要大小寫及數(shù)字字母,否則會報密碼強度不符合
??用戶名如果重復(fù),會報錯ERROR 1396 (HY000): Operation CREATE USER failed for 'testUser'@'%'
create user 'testUser'@'%' identified by 'Haier...123';
創(chuàng)建用戶.png

4.查看用戶

進入mysql系統(tǒng)數(shù)據(jù)庫

user mysql;

查看用戶的相關(guān)信息

select host, user, authentication_string, plugin from user;

user mysql; 
select host, user, authentication_string, plugin from user;

若展示的信息中有剛加入的用戶testUser,則添加成功。切記查看完要切換回操作的數(shù)據(jù)庫,本狗需要操作的是b2b

use b2b; 
查看用戶.png

5.用戶授權(quán)

grant #auth on #databaseName.#table to '#userName'@'#host';

#auth 代表權(quán)限,如下

  • all privileges 全部權(quán)限
  • select 查詢權(quán)限
  • select,insert,update,delete 增刪改查權(quán)限
  • select,[...]增...等權(quán)限

#databaseName 代表數(shù)據(jù)庫名
#table 代表具體表,如下

  • *代表全部表
  • A,B 代表具體A,B表

#userName 代表用戶名

#host 代表訪問權(quán)限,如下

  • %代表通配所有host地址權(quán)限(可遠(yuǎn)程訪問)
  • localhost為本地權(quán)限(不可遠(yuǎn)程訪問)
  • 指定特殊Ip訪問權(quán)限 如10.138.106.102
??本狗賦予b2b數(shù)據(jù)庫area_code表增刪改差權(quán)限
grant select,insert,update,delete on b2b.area_code to 'testUser'@'%';
用戶授權(quán).png

6.刷新

??切記一定要刷新授權(quán)才可生效

flush privileges;

刷新.png

7.查看用戶權(quán)限

show grants for '#userName'@'#host';

#userName 代表用戶名

#host 代表訪問權(quán)限,如下

  • %代表通配所有host地址權(quán)限(可遠(yuǎn)程訪問)
  • localhost為本地權(quán)限(不可遠(yuǎn)程訪問)
  • 指定特殊Ip訪問權(quán)限 如10.138.106.102
??本狗要查看的是testUser
show grants for 'testUser'@'%';
查看用戶權(quán)限.png

8.驗證

使用navicat等可視化工具驗證

驗證.png

9.撤銷權(quán)限

revoke #auth on #databaseName.#table from '#userName'@'#host';

#auth 代表權(quán)限,如下

  • all privileges 全部權(quán)限
  • select 查詢權(quán)限
  • select,insert,update,delete 增刪改查權(quán)限
  • select,[...]增...等權(quán)限

#databaseName 代表數(shù)據(jù)庫名
#table 代表具體表,如下

  • *代表全部表
  • A,B 代表具體A,B表

#userName 代表用戶名

#host 代表訪問權(quán)限,如下

  • %代表通配所有host地址權(quán)限(可遠(yuǎn)程訪問)
  • localhost為本地權(quán)限(不可遠(yuǎn)程訪問)
  • 指定特殊Ip訪問權(quán)限 如10.138.106.102
??本狗要撤銷testUser用戶對b2b數(shù)據(jù)庫中的area_code表的增刪改差權(quán)限
revoke select,insert,update,delete on b2b.area_code from 'testUser'@'%';
??本狗再查看用戶權(quán)限
show grants for 'testUser'@'%';
撤銷權(quán)限.png

10.刪除用戶

drop user '#userName'@'#host';

#userName 代表用戶名

#host 代表訪問權(quán)限,如下

  • %代表通配所有host地址權(quán)限(可遠(yuǎn)程訪問)
  • localhost為本地權(quán)限(不可遠(yuǎn)程訪問)
  • 指定特殊Ip訪問權(quán)限 如10.138.106.102
??本狗要刪除用戶testUser
drop user 'testUser'@'%';
刪除用戶.png

?? 本文均由JavaDog原創(chuàng),轉(zhuǎn)載請標(biāo)明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容