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