mysql 用户管理表_Mysql—用户表详解(mysql.user)
MySQL
數(shù)據(jù)庫
Mysql—用戶表詳解(mysql.user)
MySQL是一個多用戶管理的數(shù)據(jù)庫,可以為不同用戶分配不同的權(quán)限,分為root用戶和普通用戶,root用戶為超級管理員,擁有所有權(quán)限,而普通用戶擁有指定的權(quán)限。
MySQL是通過權(quán)限表來控制用戶對數(shù)據(jù)庫訪問的,權(quán)限表存放在mysql數(shù)據(jù)庫中,主要的權(quán)限表有以下幾個:user,db,host,table_priv,columns_priv和procs_priv,先帶你了解的是user表。
通常用戶信息、修改用戶的密碼、刪除用戶及分配權(quán)限等就是在mysql數(shù)據(jù)庫的user表中。
用戶列(用戶連接MySQL數(shù)據(jù)庫需要輸入的信息)
Host:主機(jī)名,雙主鍵之一,值為%時表示匹配所有主機(jī)。User:用戶名,雙主鍵之一。Password:密碼名。
Host
User
Password
%
domain_check
*55B565DA3839E5955A68EA96EB735
localhost
domain_check
*55B565DA3839E5955A68EA96EB735
127.0.0.1
domain_check
*55B565DA3839E5955A68EA96EB735
126.26.98.25
domain_check
*55B565DA3839E5955A68EA96EB735
localhost
::1
root
*26C378D308851D5C717C13623EFD6
localhost
root
*26C378D308851D5C717C13623EFD6
127.0.0.1
root
*26C378D308851D5C717C13623EFD6
(root,%),表示可以遠(yuǎn)程登錄,并且是除服務(wù)器外的其他任何終端,%表示任意IP都可登錄。
(root,localhost),? 表示可以本地登錄,即可以在服務(wù)器上登陸,localhost則只允許本地登錄。
(root,127.0.0.1 ),表示可以本機(jī)登陸,即可以在服務(wù)器上登陸
(root,sv01),表示主機(jī)名為sv1可以登陸,sv01具體指的哪臺機(jī)器,可以在cat /etc/hostname查看
(root,::1) ,? 表示本機(jī)可以登陸, 看密碼都是相同嘛,具體::1代表意義,待查
權(quán)限列
權(quán)限列決定了用戶的權(quán)限,描述了用戶在全局范圍內(nèi)允許對數(shù)據(jù)庫和數(shù)據(jù)庫表進(jìn)行的操作,字段類型都是枚舉Enum,值只能是Y或N,Y表示有權(quán)限,N表示沒有權(quán)限。
權(quán)限字段名稱
備注說明
Select_priv
確定用戶是否可以通過SELECT命令選擇數(shù)據(jù)
Insert_priv
確定用戶是否可以通過INSERT命令插入數(shù)據(jù)
Delete_priv
確定用戶是否可以通過DELETE命令刪除現(xiàn)有數(shù)據(jù)
Update_priv
確定用戶是否可以通過UPDATE命令修改現(xiàn)有數(shù)據(jù)
Create_priv
確定用戶是否可以創(chuàng)建新的數(shù)據(jù)庫和表
Drop_priv
確定用戶是否可以刪除現(xiàn)有數(shù)據(jù)庫和表
Reload_priv
確定用戶是否可以執(zhí)行刷新和重新加載MySQL所用各種內(nèi)部緩存的特定命令,包括日志、權(quán)限、主機(jī)、查詢和表重新加載權(quán)限表
Shutdown_priv
確定用戶是否可以關(guān)閉MySQL服務(wù)器在將此權(quán)限提供給root賬戶之外的任何用戶時,都應(yīng)當(dāng)非常謹(jǐn)慎
Process_priv
確定用戶是否可以通過SHOW PROCESSLIST命令查看其他用戶的進(jìn)程
File_priv
確定用戶是否可以執(zhí)行SELECT INTO OUTFILE和LOAD DATA INFILE命令
安全列
安全字段名稱
備注說明
ssl_type
支持ssl標(biāo)準(zhǔn)加密安全字段
ssl_cipher
支持ssl標(biāo)準(zhǔn)加密安全字段
x509_issuer
支持x509標(biāo)準(zhǔn)字段
x509_subject
支持x509標(biāo)準(zhǔn)字段
password_expired
密碼是否過期。Y:說明該用戶密碼已過期 N:沒有過期
plugin
5.5.7開始,mysql引入plugins以進(jìn)行用戶連接時的密碼驗證,plugin創(chuàng)建外部/代理用戶
authentication_string
通過authentication_string可以控制兩者的映射關(guān)系,(PAM plugin等,PAM可以支持多個服務(wù)名)
資源控制列
控制字段名稱
字段類型
是否為空
默認(rèn)值
備注說明
max_questions
int(11)unsigned
NO
0
每小時允許執(zhí)行多少次查詢:0表示無限制
max_updates
int(11)unsigned
NO
0
每小時可以執(zhí)行多少次更新:0表示無限制
max_connections
int(11)unsigned
NO
0
每小時可以建立的多少次連接:0表示無限制
max_user_connections
int(11)unsigned
NO
0
單用戶可以同時具有的連接數(shù):0表示無限制
常用命令
查詢所有用戶
mysql> select Host,User,Password from user;
查詢用戶權(quán)限:all表示所有權(quán)限,select表示只查權(quán)限,update表示只改權(quán)限,delete表示只刪權(quán)限等。
mysql> show grants for "user"@"host";
mysql> show grants for"root"@"localhost";
添加授權(quán)用戶(新創(chuàng)建的用戶,默認(rèn)情況下是沒有任何權(quán)限的):使用root用戶連接到服務(wù)器
mysql> create user "用戶名"@"IP地址" identified by"密碼";
mysql> create user "haidon"@"%" identified by "123456";
mysql> create user "haidon"@"localhost" identified by "123456";
IP地址的表示方式:1.%表示用戶可以從任何地址連接到服務(wù)器2.localhost 表示用戶只能從本地連接到服務(wù)器3.指定一個ip表示用戶只能從此ip連接到服務(wù)器
分配用戶權(quán)限(給用戶授權(quán))
mysql> grant 權(quán)限列表 on 庫.表 to "用戶名"@"ip地址" with grant option;
mysql> grant all privileges on *.* to "haidon"@"%" with grant option;
mysql> grant all privileges on *.* to "haidon"@"%" identified by 'test' with grant option;
mysql> grant all privileges on domain_check.tb_user to "haidon"@"localhost" with grant option;
mysql> grant select on domain_check.tb_user to "haidon"@"localhost" with grant option;
mysql> grant select,insert on domain_check.tb_user to "haidon"@"132.24.98.25" with grant option;1.權(quán)限列表:select、update、delete、insert、alter、drop、create、...(show)2.庫.表:*.*表示所有庫的所有表。with grantoption表示它具有g(shù)rant權(quán)限。密碼是test。3.如果帶了 with grant option,那么用戶haidon可以將select ,update權(quán)限傳遞給其他用戶( 如xiaodon)。4.如果沒帶 with grant option,那么用戶haidon不能給用戶xiaodon授權(quán)。5.all后面加上privileges,具體到哪些權(quán)限時得看MySQL版本,5.7版本不加privileges,8.0版本加privileges。6.mysql> insert into user values("%","haidon",password("test"),"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y");
mysql> flush privileges; 這兩句和上面第3句grant的效果是一樣的。7.mysql> insert into user (host,user) values("132.24.98.25","haidon");
mysql> insert into db values("132.24.98.25","haidon","Y","Y","Y","Y","Y","Y","N","N","N","N")
mysql> flush privileges; 這三句和上面第6句grant的效果是一樣的。
收回用戶權(quán)限
mysql> revoke all on *.* from"haidon"@"localhost";
mysql> revoke all on domain_check.tb_user from"haidon"@"localhost";
mysql> revoke select on *.* from"haidon"@"localhost";
刪除授權(quán)用戶
mysql> drop user"用戶名"@"ip地址"
mysql> drop user "haidon"@"%"
mysql> delete from user where user='haidon';
mysql> flush privileges;
內(nèi)容來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系客服刪除
總結(jié)
以上是生活随笔為你收集整理的mysql 用户管理表_Mysql—用户表详解(mysql.user)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python排序元组两个元素_在pyth
- 下一篇: mysql整数索引没用到_MYSQL 索