亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談MySQL user權(quán)限表

 更新時(shí)間:2021年06月17日 11:00:20   投稿:zx  
MySQL 在安裝時(shí)會(huì)自動(dòng)創(chuàng)建一個(gè)名為 mysql 的數(shù)據(jù)庫(kù),mysql 數(shù)據(jù)庫(kù)中存儲(chǔ)的都是用戶權(quán)限表。本文就詳細(xì)的介紹一下MySQL user權(quán)限表 ,感興趣的可以了解一下

MySQL 在安裝時(shí)會(huì)自動(dòng)創(chuàng)建一個(gè)名為 mysql 的數(shù)據(jù)庫(kù),mysql 數(shù)據(jù)庫(kù)中存儲(chǔ)的都是用戶權(quán)限表。用戶登錄以后,MySQL 會(huì)根據(jù)這些權(quán)限表的內(nèi)容為每個(gè)用戶賦予相應(yīng)的權(quán)限。

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

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

用戶列

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

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

字段名 字段類型 是否為空 默認(rèn)值 說(shuō)明
Host char(60) NO 無(wú) 主機(jī)名
User char(32) NO 無(wú) 用戶名
authentication_string text YES 無(wú) 密碼

表 1:user 表的用戶列

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

權(quán)限列

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

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

  • 高級(jí)管理權(quán)限主要對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,例如關(guān)閉服務(wù)的權(quán)限、超級(jí)權(quán)限和加載用戶等;
  • 普通權(quán)限主要操作數(shù)據(jù)庫(kù),例如查詢權(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。

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

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

安全列

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

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

表 3:user 表的安全列

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

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

資源控制列

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

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

表 4:user 表的資源控制列

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

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

相關(guān)文章

  • MySQL中dd::columns表結(jié)構(gòu)轉(zhuǎn)table過(guò)程及應(yīng)用詳解

    MySQL中dd::columns表結(jié)構(gòu)轉(zhuǎn)table過(guò)程及應(yīng)用詳解

    MySQL的dd表是用來(lái)存放表結(jié)構(gòu)和各種建表信息的,客戶端建的表都存在mysql.table和mysql.columns表里,還有一個(gè)表mysql.column_type_elements比較特殊,用來(lái)存放SET和ENUM類型的字段集合值信息,對(duì)mysql dd::columns表結(jié)構(gòu)相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-09-09
  • 解決MySQL 8.0以上版本設(shè)置大小寫不敏感的問題

    解決MySQL 8.0以上版本設(shè)置大小寫不敏感的問題

    MySQL 8.0以上版本默認(rèn)區(qū)分大小寫,但在低版本(如5.7)中,可以通過(guò)在my.cnf配置文件的[mysqld]節(jié)下添加lower_case_table_names=1來(lái)設(shè)置大小寫不敏感,本篇博客將介紹如何解決MySQL 8.0以上版本設(shè)置大小寫不敏感的問題,需要的朋友可以參考下
    2023-11-11
  • MySQL 中 FIELD() 自定義排序示例詳解

    MySQL 中 FIELD() 自定義排序示例詳解

    MySQL中的field()函數(shù),可以用來(lái)對(duì)SQL中查詢結(jié)果集進(jìn)行指定順序排序,這篇文章主要介紹了MySQL 中 FIELD() 自定義排序,需要的朋友可以參考下
    2024-05-05
  • MySQL與SQL的觸發(fā)器的不同寫法

    MySQL與SQL的觸發(fā)器的不同寫法

    當(dāng)在SQL、MySQL數(shù)據(jù)庫(kù)中一張表中插入一條記錄時(shí),觸動(dòng)觸發(fā)器,使同一數(shù)據(jù)庫(kù)的另一張表插入相同記錄。
    2010-09-09
  • Mysql中Identity 詳細(xì)介紹

    Mysql中Identity 詳細(xì)介紹

    這篇文章主要介紹了Mysql中Identity 的相關(guān)資料,并附示例代碼,需要的朋友可以參考下
    2016-09-09
  • mysql本地登錄無(wú)法使用端口號(hào)登錄的解決方法

    mysql本地登錄無(wú)法使用端口號(hào)登錄的解決方法

    這篇文章主要介紹了mysql本地登錄無(wú)法使用端口號(hào)登錄的解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • MySQL 的CASE WHEN 語(yǔ)句使用說(shuō)明

    MySQL 的CASE WHEN 語(yǔ)句使用說(shuō)明

    本文介紹下,在mysql數(shù)據(jù)庫(kù)中,有關(guān)case when語(yǔ)句的用法,介紹了case when語(yǔ)句的基礎(chǔ)知識(shí),并提供了相關(guān)實(shí)例,供大家學(xué)習(xí)參考,有需要的朋友不要錯(cuò)過(guò)
    2011-10-10
  • MySql?update語(yǔ)句的詳細(xì)用法

    MySql?update語(yǔ)句的詳細(xì)用法

    這篇文章主要給大家介紹了關(guān)于MySql?update語(yǔ)句的詳細(xì)用法,Update 是SQL中用于更新表格中已有記錄的命令,通過(guò)使用Update命令,您可以更新表格中的一行或多行記錄,并根據(jù)需要更改它們的值,需要的朋友可以參考下
    2023-11-11
  • Mysql實(shí)現(xiàn)合并多個(gè)分組(GROUP_CONCAT及其平替函數(shù))

    Mysql實(shí)現(xiàn)合并多個(gè)分組(GROUP_CONCAT及其平替函數(shù))

    MySQL 中提供了多種合并字符串的函數(shù)和操作方法,包括 GROUP_CONCAT、CONCAT_WS 和 CONCAT 等,本文介紹了 MySQL 中 GROUP_CONCAT 函數(shù)以及 CONCAT_WS、CONCAT 函數(shù)并通過(guò)示例代碼演示了它們的用法,感興趣的可以了解一下
    2023-10-10
  • 詳解MySQL中的pid與socket

    詳解MySQL中的pid與socket

    不知道你有沒有注意過(guò),MySQL 啟動(dòng)時(shí)需要配置 pid 及 socket 文件路徑。偶爾還會(huì)出現(xiàn)因 pid 文件找不到而啟動(dòng)失敗的現(xiàn)象,那么 pid 與 socket 文件究竟是干什么用的呢?我們一起來(lái)看下本篇文章。
    2021-06-06

最新評(píng)論