MySQL的user表
MySQL中,用戶分為root用戶和普通用戶
root用戶,為超級管理員,具有所有權限,比如,創建用戶、刪除用戶、管理用戶等
普通用戶,只有被賦予的某些權限
user表
在安裝MySQL時,會自動安裝一個名為mysql的數據庫,該數據庫中的表,都是權限表,比如,user、db、host、tables_priv、column_priv和procs_priv
其中,user表示最重要的一個權限表,它記錄了允許連接到服務器的賬戶信息,以及一些全局級的權限信息,通過操作該表,就可以對這些信息進行修改
常用字段
字段名,數據類型,默認值
Host——char(60)——N
User——char(16)——N
Password——char(41)——N
Select_priv——enum(‘N’,’Y’)——N
Insert_priv——enum(‘N’,’Y’)——N
Update_priv——enum(‘N’,’Y’)——N
Delete_priv——enum(‘N’,’Y’)——N
Create_priv——enum(‘N’,’Y’)——N
Drop_priv——enum(‘N’,’Y’)——N
Reload_priv——enum(‘N’,’Y’)——N
Shutdown_priv——enum(‘N’,’Y’)——N
Ssl_type——enum(”,’ANY’,’X509’,’SPECIFIED’)
Ssl_cipher——blob——NULL
X509_issuer——blob——NULL
X509_subject——blob——NULL
Max_questions——int(11) unsigned——0
Max_updates——int(11) unsigned——0
Max_connections——int(11) unsigned——0
Max_user_connections——int(11) unsigned——0
Plugin——char(64)
Anthentication_string——text——NULL
上述列舉user表的一些字段,MySQL 的user表中一共有42個字段
這些字段大致分為4類
用戶列
user表的用戶列,包括Host、User、Password,分別表示主機名、用戶名和密碼
其中
Host和User列為user表的聯合主鍵,當用戶與服務器建立連接時,輸入的用戶名、主機名和密碼必須匹配user表中對應的字段,只有這三個值,都匹配的時候,才允許建立連接。
當修改密碼時,只需要修改user表中Password字段的值,即可
權限列
user表的權限列,包括Select_priv、Insert_priv、Update_priv等,以priv結尾的字段,這些字段決定了用戶的權限,其中,包括查詢權限、修改權限、關閉服務等權限
user表對應的權限,是針對所有數據庫的,并且,這些權限列的數據類型都是ENUM,取值只有N和Y
其中
N表示,該用戶沒有對應的權限
Y表示,該用戶有對應的權限
為了安全起見,這些字段的默認值都為N,如果,需要可以對其進行修改
安全列
user表的安全列,用于管理用戶的安全信息,其中,包括6個字段
1、ssl_type和ssl_cipher,用于加密
2、x509_issuer和x509_subject標準,可以用來標識用戶
3、plugin和authentication_string,用于存儲和授權相關的插件
通常,標準的發行版不支持ssl加密,可以使用SHOW VARIABLES LIKE ‘have_openssl’語句查看,如果have_openssl的取值為DISABLED,則表示不支持加密
資源控制列
user表的資源控制列,用于限制用戶使用的資源
其中,包括4個字段
1、max_questions,每小時允許用戶,執行查詢操作的次數
2、max_updates,每小時允許用戶,執行更新操作的次數
3、max_connections,每小時允許用戶,建立連接的次數
4、max_user_connections,允許單個用戶,同時建立連接的次數
總結
以上是生活随笔為你收集整理的MySQL的user表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL视图的使用
- 下一篇: MySQL创建普通用户