濮阳杆衣贸易有限公司

主頁 > 知識庫 > 淺談MySQL user權限表

淺談MySQL user權限表

熱門標簽:拉卡拉外呼系統(tǒng) 智能外呼系統(tǒng)復位 400電話可以辦理嗎 話務外呼系統(tǒng)怎么樣 臨清電話機器人 大眾點評星級酒店地圖標注 云南電商智能外呼系統(tǒng)價格 外東北地圖標注 高清地圖標注道路

MySQL 在安裝時會自動創(chuàng)建一個名為 mysql 的數(shù)據(jù)庫,mysql 數(shù)據(jù)庫中存儲的都是用戶權限表。用戶登錄以后,MySQL 會根據(jù)這些權限表的內容為每個用戶賦予相應的權限。

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

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

用戶列

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

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

字段名 字段類型 是否為空 默認值 說明
Host char(60) NO 主機名
User char(32) NO 用戶名
authentication_string text YES 密碼

表 1:user 表的用戶列

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

權限列

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

權限大致分為兩大類,分別是高級管理權限和普通權限:

  • 高級管理權限主要對數(shù)據(jù)庫進行管理,例如關閉服務的權限、超級權限和加載用戶等;
  • 普通權限主要操作數(shù)據(jù)庫,例如查詢權限、修改權限等。

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

字段名 字段類型 是否為空 默認值 說明
Select_priv enum('N','Y') NO N 是否可以通過SELECT 命令查詢數(shù)據(jù)
Insert_priv enum('N','Y') NO N 是否可以通過 INSERT 命令插入數(shù)據(jù)
Update_priv enum('N','Y') NO N 是否可以通過UPDATE 命令修改現(xiàn)有數(shù)據(jù)
Delete_priv enum('N','Y') NO N 是否可以通過DELETE 命令刪除現(xiàn)有數(shù)據(jù)
Create_priv enum('N','Y') NO N 是否可以創(chuàng)建新的數(shù)據(jù)庫和表
Drop_priv enum('N','Y') NO N 是否可以刪除現(xiàn)有數(shù)據(jù)庫和表
Reload_priv enum('N','Y') NO N 是否可以執(zhí)行刷新和重新加載MySQL所用的各種內部緩存的特定命令,包括日志、權限、主機、查詢和表
Shutdown_priv enum('N','Y') NO N 是否可以關閉MySQL服務器。將此權限提供給root賬戶之外的任何用戶時,都應當非常謹慎
Process_priv enum('N','Y') NO N 是否可以通過SHOW PROCESSLIST命令查看其他用戶的進程
File_priv enum('N','Y') NO N 是否可以執(zhí)行SELECT INTO OUTFILE和LOAD DATA INFILE命令
Grant_priv enum('N','Y') NO N 是否可以將自己的權限再授予其他用戶
References_priv enum('N','Y') NO N 是否可以創(chuàng)建外鍵約束
Index_priv enum('N','Y') NO N 是否可以對索引進行增刪查
Alter_priv enum('N','Y') NO N 是否可以重命名和修改表結構
Show_db_priv enum('N','Y') NO N 是否可以查看服務器上所有數(shù)據(jù)庫的名字,包括用戶擁有足夠訪問權限的數(shù)據(jù)庫
Super_priv enum('N','Y') NO N 是否可以執(zhí)行某些強大的管理功能,例如通過KILL命令刪除用戶進程;使用SET GLOBAL命令修改全局MySQL變量,執(zhí)行關于復制和日志的各種命令。(超級權限)
Create_tmp_table_priv enum('N','Y') NO N 是否可以創(chuàng)建臨時表
Lock_tables_priv enum('N','Y') NO N 是否可以使用LOCK TABLES命令阻止對表的訪問/修改
Execute_priv enum('N','Y') NO N 是否可以執(zhí)行存儲過程
Repl_slave_priv enum('N','Y') NO N 是否可以讀取用于維護復制數(shù)據(jù)庫環(huán)境的二進制日志文件
Repl_client_priv enum('N','Y') NO N 是否可以確定復制從服務器和主服務器的位置
Create_view_priv enum('N','Y') NO N 是否可以創(chuàng)建視圖
Show_view_priv enum('N','Y') NO N 是否可以查看視圖
Create_routine_priv enum('N','Y') NO N 是否可以更改或放棄存儲過程和函數(shù)
Alter_routine_priv enum('N','Y') NO N 是否可以修改或刪除存儲函數(shù)及函數(shù)
Create_user_priv enum('N','Y') NO N 是否可以執(zhí)行CREATE USER命令,這個命令用于創(chuàng)建新的MySQL賬戶
Event_priv enum('N','Y') NO N 是否可以創(chuàng)建、修改和刪除事件
Trigger_priv enum('N','Y') NO N 是否可以創(chuàng)建和刪除觸發(fā)器
Create_tablespace_priv enum('N','Y') NO N 是否可以創(chuàng)建表空間

表 2:user表的權限列

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

安全列

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

字段名 字段類型 是否為空 默認值 說明
ssl_type enum('','ANY','X509','SPECIFIED') NO 支持ssl標準加密安全字段
ssl_cipher blob NO 支持ssl標準加密安全字段
x509_issuer blob NO 支持x509標準字段
x509_subject blob NO 支持x509標準字段
plugin char(64) NO mysql_native_password 引入plugins以進行用戶連接時的密碼驗證,plugin創(chuàng)建外部/代理用戶
password_expired enum('N','Y') NO N 密碼是否過期 (N 未過期,y 已過期)
password_last_changed timestamp YES 記錄密碼最近修改的時間
password_lifetime smallint(5) unsigned YES 設置密碼的有效時間,單位為天數(shù)
account_locked enum('N','Y') NO N 用戶是否被鎖定(Y 鎖定,N 未鎖定)

表 3:user 表的安全列

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

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

資源控制列

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

字段名 字段類型 是否為空 默認值 說明
max_questions int(11) unsigned NO 0 規(guī)定每小時允許執(zhí)行查詢的操作次數(shù)
max_updates int(11) unsigned NO 0 規(guī)定每小時允許執(zhí)行更新的操作次數(shù)
max_connections int(11) unsigned NO 0 規(guī)定每小時允許執(zhí)行的連接操作次數(shù)
max_user_connections int(11) unsigned NO 0 規(guī)定允許同時建立的連接次數(shù)

表 4:user 表的資源控制列

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

到此這篇關于淺談MySQL user權限表 的文章就介紹到這了,更多相關MySQL user權限表 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Mysql 用戶權限管理實現(xiàn)
  • 詳解MySQL 用戶權限管理
  • MySQL 權限控制細節(jié)分析
  • MySQL 權限控制詳解
  • mysql創(chuàng)建用戶并賦予用戶權限詳細操作教程
  • Mysql修改存儲過程相關權限問題
  • MySQL8.0設置遠程訪問權限的方法
  • MySQL之權限以及設計數(shù)據(jù)庫案例講解

標簽:三明 無錫 山西 溫州 定西 揚州 福州 阿里

巨人網(wǎng)絡通訊聲明:本文標題《淺談MySQL user權限表》,本文關鍵詞  淺談,MySQL,user,權限,表,淺談,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談MySQL user權限表》相關的同類信息!
  • 本頁收集關于淺談MySQL user權限表的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    秦安县| 监利县| 四平市| 龙岩市| 栖霞市| 崇明县| 唐海县| 八宿县| 驻马店市| 宣城市| 若羌县| 延长县| 巴林左旗| 类乌齐县| 林甸县| 湘潭县| 天峻县| 务川| 大冶市| 清远市| 板桥市| 阿荣旗| 翁源县| 昂仁县| 吉隆县| 西平县| 宁化县| 丹东市| 沈阳市| 斗六市| 义马市| 平遥县| 陕西省| 普定县| 彰武县| 曲阳县| 孟津县| 钦州市| 青海省| 徐水县| 海阳市|