溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql有user表嗎

發(fā)布時(shí)間:2022-02-25 09:50:07 來源:億速云 閱讀:404 作者:iii 欄目:MySQL數(shù)據(jù)庫

這篇文章主要講解了“mysql有user表嗎”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mysql有user表嗎”吧!

mysql有user表。user表是MySQL中的一個(gè)權(quán)限表,用來記錄允許連接到服務(wù)器的賬號(hào)信息;user表中的字段大致可以分為4類,分別是用戶列、權(quán)限列、安全列和資源控制列。

本教程操作環(huán)境:windows7系統(tǒng)、mysql5.7版本、Dell G3電腦。

mysql有user表。

user 表是 MySQL 中最重要的一個(gè)權(quán)限表,用來記錄允許連接到服務(wù)器的賬號(hào)信息。需要注意的是,在 user 表里啟用的所有權(quán)限都是全局級(jí)的,適用于所有數(shù)據(jù)庫。

user 表中的字段大致可以分為 4 類,分別是用戶列、權(quán)限列、安全列和資源控制列,下面主要介紹這些字段的含義。

用戶列

用戶列存儲(chǔ)了用戶連接 MySQL 數(shù)據(jù)庫時(shí)需要輸入的信息。需要注意的是 MySQL 5.7 版本不再使用 Password 來作為密碼的字段,而改成了 authentication_string。

MySQL 5.7 版本的用戶列如表 1 所示。

表 1:user 表的用戶列
字段名字段類型是否為空默認(rèn)值說明
Hostchar(60)NO主機(jī)名
Userchar(32)NO用戶名
authentication_stringtextYES密碼

用戶登錄時(shí),如果這 3 個(gè)字段同時(shí)匹配,MySQL 數(shù)據(jù)庫系統(tǒng)才會(huì)允許其登錄。創(chuàng)建新用戶時(shí),也是設(shè)置這 3 個(gè)字段的值。修改用戶密碼時(shí),實(shí)際就是修改 user 表的 authentication_string 字段的值。因此,這 3 個(gè)字段決定了用戶能否登錄。

權(quán)限列

權(quán)限列的字段決定了用戶的權(quán)限,用來描述在全局范圍內(nèi)允許對(duì)數(shù)據(jù)和數(shù)據(jù)庫進(jìn)行的操作。

權(quán)限大致分為兩大類,分別是高級(jí)管理權(quán)限和普通權(quán)限:

  • 高級(jí)管理權(quán)限主要對(duì)數(shù)據(jù)庫進(jìn)行管理,例如關(guān)閉服務(wù)的權(quán)限、超級(jí)權(quán)限和加載用戶等;

  • 普通權(quán)限主要操作數(shù)據(jù)庫,例如查詢權(quán)限、修改權(quán)限等。

user 表的權(quán)限列包括 Select_priv、Insert_ priv 等以 priv 結(jié)尾的字段,這些字段值的數(shù)據(jù)類型為 ENUM,可取的值只有 Y 和 N:Y 表示該用戶有對(duì)應(yīng)的權(quán)限,N 表示該用戶沒有對(duì)應(yīng)的權(quán)限。從安全角度考慮,這些字段的默認(rèn)值都為 N。

表 2:user表的權(quán)限列
字段名字段類型是否為空默認(rèn)值說明
Select_privenum('N','Y')NON是否可以通過SELECT 命令查詢數(shù)據(jù)
Insert_privenum('N','Y')NON是否可以通過 INSERT 命令插入數(shù)據(jù)
Update_privenum('N','Y')NON是否可以通過UPDATE 命令修改現(xiàn)有數(shù)據(jù)
Delete_privenum('N','Y')NON是否可以通過DELETE 命令刪除現(xiàn)有數(shù)據(jù)
Create_privenum('N','Y')NON是否可以創(chuàng)建新的數(shù)據(jù)庫和表
Drop_privenum('N','Y')NON是否可以刪除現(xiàn)有數(shù)據(jù)庫和表
Reload_privenum('N','Y')NON是否可以執(zhí)行刷新和重新加載MySQL所用的各種內(nèi)部緩存的特定命令,包括日志、權(quán)限、主機(jī)、查詢和表
Shutdown_privenum('N','Y')NON是否可以關(guān)閉MySQL服務(wù)器。將此權(quán)限提供給root賬戶之外的任何用戶時(shí),都應(yīng)當(dāng)非常謹(jǐn)慎
Process_privenum('N','Y')NON是否可以通過SHOW PROCESSLIST命令查看其他用戶的進(jìn)程
File_privenum('N','Y')NON是否可以執(zhí)行SELECT INTO OUTFILE和LOAD DATA INFILE命令
Grant_privenum('N','Y')NON是否可以將自己的權(quán)限再授予其他用戶
References_privenum('N','Y')NON是否可以創(chuàng)建外鍵約束
Index_privenum('N','Y')NON是否可以對(duì)索引進(jìn)行增刪查
Alter_privenum('N','Y')NON是否可以重命名和修改表結(jié)構(gòu)
Show_db_privenum('N','Y')NON是否可以查看服務(wù)器上所有數(shù)據(jù)庫的名字,包括用戶擁有足夠訪問權(quán)限的數(shù)據(jù)庫
Super_privenum('N','Y')NON是否可以執(zhí)行某些強(qiáng)大的管理功能,例如通過KILL命令刪除用戶進(jìn)程;使用SET GLOBAL命令修改全局MySQL變量,執(zhí)行關(guān)于復(fù)制和日志的各種命令。(超級(jí)權(quán)限)
Create_tmp_table_privenum('N','Y')NON是否可以創(chuàng)建臨時(shí)表
Lock_tables_privenum('N','Y')NON是否可以使用LOCK TABLES命令阻止對(duì)表的訪問/修改
Execute_privenum('N','Y')NON是否可以執(zhí)行存儲(chǔ)過程
Repl_slave_privenum('N','Y')NON是否可以讀取用于維護(hù)復(fù)制數(shù)據(jù)庫環(huán)境的二進(jìn)制日志文件
Repl_client_privenum('N','Y')NON是否可以確定復(fù)制從服務(wù)器和主服務(wù)器的位置
Create_view_privenum('N','Y')NON是否可以創(chuàng)建視圖
Show_view_privenum('N','Y')NON是否可以查看視圖
Create_routine_privenum('N','Y')NON是否可以更改或放棄存儲(chǔ)過程和函數(shù)
Alter_routine_privenum('N','Y')NON是否可以修改或刪除存儲(chǔ)函數(shù)及函數(shù)
Create_user_privenum('N','Y')NON是否可以執(zhí)行CREATE USER命令,這個(gè)命令用于創(chuàng)建新的MySQL賬戶
Event_privenum('N','Y')NON是否可以創(chuàng)建、修改和刪除事件
Trigger_privenum('N','Y')NON是否可以創(chuàng)建和刪除觸發(fā)器
Create_tablespace_privenum('N','Y')NON是否可以創(chuàng)建表空間

如果要修改權(quán)限,可以使用 GRANT 語句為用戶賦予一些權(quán)限,也可以通過 UPDATE 語句更新 user 表的方式來設(shè)置權(quán)限。

安全列

安全列主要用來判斷用戶是否能夠登錄成功,user 表中的安全列如表 3 所示:

表 3:user 表的安全列
字段名字段類型是否為空默認(rèn)值說明
ssl_typeenum('','ANY','X509','SPECIFIED')NO
支持ssl標(biāo)準(zhǔn)加密安全字段
ssl_cipherblobNO
支持ssl標(biāo)準(zhǔn)加密安全字段
x509_issuerblobNO
支持x509標(biāo)準(zhǔn)字段
x509_subjectblobNO
支持x509標(biāo)準(zhǔn)字段
pluginchar(64)NOmysql_native_password引入plugins以進(jìn)行用戶連接時(shí)的密碼驗(yàn)證,plugin創(chuàng)建外部/代理用戶
password_expiredenum('N','Y')NON密碼是否過期 (N 未過期,y 已過期)
password_last_changedtimestampYES
記錄密碼最近修改的時(shí)間
password_lifetimesmallint(5) unsignedYES
設(shè)置密碼的有效時(shí)間,單位為天數(shù)
account_lockedenum('N','Y')NON用戶是否被鎖定(Y 鎖定,N 未鎖定)

注意:即使 password_expired 為“Y”,用戶也可以使用密碼登錄 MySQL,但是不允許做任何操作。

通常標(biāo)準(zhǔn)的發(fā)行版不支持 ssl,讀者可以使用 SHOW VARIABLES LIKE "have_openssl" 語句來查看是否具有 ssl 功能。如果 have_openssl 的值為 DISABLED,那么則不支持 ssl 加密功能。

資源控制列

資源控制列的字段用來限制用戶使用的資源,user 表中的資源控制列如表 4 所示。

表 4:user 表的資源控制列
字段名字段類型是否為空默認(rèn)值說明
max_questionsint(11) unsignedNO0規(guī)定每小時(shí)允許執(zhí)行查詢的操作次數(shù)
max_updatesint(11) unsignedNO0規(guī)定每小時(shí)允許執(zhí)行更新的操作次數(shù)
max_connectionsint(11) unsignedNO0規(guī)定每小時(shí)允許執(zhí)行的連接操作次數(shù)
max_user_connectionsint(11) unsignedNO0規(guī)定允許同時(shí)建立的連接次數(shù)

以上字段的默認(rèn)值為 0,表示沒有限制。一個(gè)小時(shí)內(nèi)用戶查詢或者連接數(shù)量超過資源控制限制,用戶將被鎖定,直到下一個(gè)小時(shí)才可以在此執(zhí)行對(duì)應(yīng)的操作??梢允褂?GRANT 語句更新這些字段的值。

感謝各位的閱讀,以上就是“mysql有user表嗎”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)mysql有user表嗎這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI