欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL?系統(tǒng)變量(查看,修改)

 更新時(shí)間:2024年08月04日 11:24:14   作者:南村群童欺我老無(wú)力.  
MySQL的系統(tǒng)變量是由MySQL服務(wù)器管理的,用于控制服務(wù)器的各種行為和特性,本文主要介紹了MySQL?系統(tǒng)變量(查看,修改),感興趣的可以了解一下

MySQL的系統(tǒng)變量是由MySQL服務(wù)器管理的,用于控制服務(wù)器的各種行為和特性。這些變量由系統(tǒng)提供,不是用戶(hù)定義的,并且屬于服務(wù)器層面的語(yǔ)法。它們包括全局變量和會(huì)話變量。

全局變量:這些變量影響整個(gè)MySQL服務(wù)器,它們的更改需要具有相應(yīng)的權(quán)限,并且通常需要重啟服務(wù)器才能生效。
會(huì)話變量:這些變量?jī)H對(duì)當(dāng)前連接到服務(wù)器的客戶(hù)端有效,每個(gè)連接都有自己的會(huì)話變量設(shè)置。 

 示例:

# 查看所有系統(tǒng)變量
SHOW GLOBAL | SESSION VARIABLES;

# 查看滿足條件的部分系統(tǒng)變量
SHOW GLOBAL | SESSION VARIABLES LIKE '%char%';

# 查看指定的某個(gè)系統(tǒng)變量的值
SELECT @@global | session.系統(tǒng)變量名;

# 為某個(gè)系統(tǒng)變量賦值
SET GLOBAL | 【SESSION】系統(tǒng)變量名 = 值;

# 使用用戶(hù)變量
SET @myvar = 1;
SELECT @myvar;

這里, @@global 或 @@session 是訪問(wèn)系統(tǒng)變量的特殊形式,用于區(qū)分全局變量和會(huì)話變量。

MySQL中的系統(tǒng)變量權(quán)限

MySQL的系統(tǒng)變量用于控制服務(wù)器的操作。它們可以是全局的(影響整個(gè)MySQL服務(wù)器實(shí)例),也可以是會(huì)話的(僅影響當(dāng)前客戶(hù)端會(huì)話),或者兩者兼有。

你可以使用SET語(yǔ)句來(lái)動(dòng)態(tài)地改變這些變量的值。例如:

  • 設(shè)置全局系統(tǒng)變量的運(yùn)行時(shí)值

使用set global語(yǔ)句,該語(yǔ)句需要system_VARIABLES_ADMIN權(quán)限(或不推薦使用的SUPER權(quán)限)。例如:

SET GLOBAL max_connections = 1000;
  • 設(shè)置會(huì)話變量(僅影響當(dāng)前會(huì)話):
SET SESSION sort_buffer_size = 256K;
  • 將全局系統(tǒng)變量的值持久化到 mysqld-auto.cnf 文件(并設(shè)置運(yùn)行時(shí)值)

使用set persist語(yǔ)句,該語(yǔ)句需要system_VARIABLES_ADMIN或SUPER權(quán)限。

  • 僅將全局系統(tǒng)變量的值持久化到 mysqld-auto.cnf 文件(不設(shè)置運(yùn)行時(shí)值)

使用SET persist_ONLY語(yǔ)句,該語(yǔ)句需要system_VARIABLES_ADMIN和persist_RO_VARIABLES_ADMIN權(quán)限。SET PERSIST_ONLY既可用于動(dòng)態(tài)系統(tǒng)變量,也可用于只讀系統(tǒng)變量,但對(duì)于不能使用SET PERSIST的持久只讀變量特別有用。

  • 持久化限制的系統(tǒng)變量

一些全局系統(tǒng)變量是持久受限的。要持久化這些變量,請(qǐng)使用SET persist_ONLY語(yǔ)句,該語(yǔ)句需要前面描述的權(quán)限。此外,必須使用加密連接連接到服務(wù)器,并提供具有由persist_only_admin_x509_Subject系統(tǒng)變量指定的Subject值的SSL證書(shū)。

例如:

SET PERSIST max_connections = 1000;

或者:

SET GLOBAL PERSIST max_connections = 1000;

要從mysqld-auto.cnf文件中刪除持久化的全局系統(tǒng)變量,請(qǐng)使用RESET PERSIST語(yǔ)句。這些特權(quán)適用于:

  • 對(duì)于動(dòng)態(tài)系統(tǒng)變量,RESET PERSIST需要system_variables_ADMIN或SUPER權(quán)限。
  • 對(duì)于只讀系統(tǒng)變量,RESET PERSIST需要system_variables_ADMIN和PERSIST_RO_variables_ADMIN權(quán)限。
  • 對(duì)于持久受限變量,RESET persist不需要使用特定SSL證書(shū)加密連接到服務(wù)器。

例如:

RESET PERSIST max_connections;

如果全局系統(tǒng)變量對(duì)前面的特權(quán)要求有任何異常,則變量描述會(huì)指示這些異常。示例包括default_table_encryption和commandory_roles,它們需要額外的權(quán)限。這些附加權(quán)限適用于設(shè)置全局運(yùn)行時(shí)值的操作,但不適用于保留該值的操作。

要設(shè)置會(huì)話系統(tǒng)變量運(yùn)行時(shí)值,請(qǐng)使用set session語(yǔ)句。與設(shè)置全局運(yùn)行時(shí)值相比,設(shè)置會(huì)話運(yùn)行時(shí)值通常不需要特殊權(quán)限,任何用戶(hù)都可以進(jìn)行設(shè)置以影響當(dāng)前會(huì)話。對(duì)于某些系統(tǒng)變量,設(shè)置會(huì)話值可能會(huì)在當(dāng)前會(huì)話之外產(chǎn)生影響,因此這是一項(xiàng)受限制的操作,只能由具有特殊權(quán)限的用戶(hù)執(zhí)行:

  • 從MySQL 8.0.14開(kāi)始,所需的權(quán)限為SESSION_VARIABLES_ADMIN。

任何具有SYSTEM_VARIABLES_ADMIN或SUPER的用戶(hù)實(shí)際上隱含地具有SESSION_VARIABLES _ADMIN,并且無(wú)需明確授予SESSION_VARIABLES_AADMIN。

  • 在MySQL 8.0.14之前,所需的權(quán)限是SYSTEM_VARIABLES_ADMIN或SUPER。

如果會(huì)話系統(tǒng)變量受到限制,則變量描述會(huì)指示該限制。示例包括binlog_format和sql_log_bin。設(shè)置這些變量的會(huì)話值會(huì)影響當(dāng)前會(huì)話的二進(jìn)制日志記錄,但也可能對(duì)服務(wù)器復(fù)制和備份的完整性產(chǎn)生更廣泛的影響。

SESSION_VARIABLES_ADMIN使管理員能夠最大限度地減少先前可能已被授予SYSTEM_VARIABLES _ADMIN或SUPER的用戶(hù)的權(quán)限占用,以使他們能夠修改受限制的會(huì)話系統(tǒng)變量。假設(shè)管理員創(chuàng)建了以下角色以授予設(shè)置受限會(huì)話系統(tǒng)變量的能力:

CREATE ROLE set_session_sysvars;
GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO set_session_sysvars;

任何被授予set_session_sysvars角色的用戶(hù)(以及該角色處于活動(dòng)狀態(tài)的用戶(hù))都可以設(shè)置受限制的會(huì)話系統(tǒng)變量。然而,該用戶(hù)也能夠設(shè)置全局系統(tǒng)變量,這可能是不希望的。

通過(guò)將角色修改為具有SESSION_VARIABLES_ADMIN而不是SYSTEM_VARIABLES _ADMIN,可以將角色權(quán)限減少為設(shè)置受限會(huì)話系統(tǒng)變量的能力,而不設(shè)置其他內(nèi)容。要修改角色,請(qǐng)使用以下語(yǔ)句:

GRANT SESSION_VARIABLES_ADMIN ON *.* TO set_session_sysvars;
REVOKE SYSTEM_VARIABLES_ADMIN ON *.* FROM set_session_sysvars;

修改角色會(huì)立即生效:任何被授予set_session_sysvars角色的帳戶(hù)都不再具有SYSTEM_VARIABLES_ADMIN,并且在沒(méi)有明確授予該功能的情況下無(wú)法設(shè)置全局系統(tǒng)變量。類(lèi)似的GRANT/REVOKE序列可以應(yīng)用于直接授予SYSTEM_VARIABLES_ADMIN而不是通過(guò)角色授予的任何帳戶(hù)。

到此這篇關(guān)于MySQL 系統(tǒng)變量(查看,修改)的文章就介紹到這了,更多相關(guān)MySQL 系統(tǒng)變量 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL如何查詢(xún)數(shù)據(jù)庫(kù)中所有表名及注釋等信息

    MySQL如何查詢(xún)數(shù)據(jù)庫(kù)中所有表名及注釋等信息

    這篇文章主要介紹了MySQL如何查詢(xún)數(shù)據(jù)庫(kù)中所有表名及注釋等信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • MySQL用戶(hù)授權(quán)管理及白名單的實(shí)現(xiàn)

    MySQL用戶(hù)授權(quán)管理及白名單的實(shí)現(xiàn)

    MySQL作為一種常用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在權(quán)限管理和用戶(hù)認(rèn)證方面提供了豐富的功能和方案,本文主要介紹了MySQL用戶(hù)授權(quán)管理及白名單的實(shí)現(xiàn),感興趣的可以了解一下
    2023-09-09
  • MySQL 內(nèi)存表和臨時(shí)表的用法詳解

    MySQL 內(nèi)存表和臨時(shí)表的用法詳解

    這篇文章主要介紹了MySQL 內(nèi)存表和臨時(shí)表的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Mysql大小寫(xiě)敏感的問(wèn)題

    Mysql大小寫(xiě)敏感的問(wèn)題

    這篇文章主要介紹了Mysql大小寫(xiě)敏感的問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2015-03-03
  • mysql如何將表結(jié)構(gòu)導(dǎo)出到excel

    mysql如何將表結(jié)構(gòu)導(dǎo)出到excel

    這篇文章主要介紹了mysql如何將表結(jié)構(gòu)導(dǎo)出到excel,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL中的批量修改、插入操作數(shù)據(jù)庫(kù)

    MySQL中的批量修改、插入操作數(shù)據(jù)庫(kù)

    在平常的項(xiàng)目中,我們會(huì)需要批量操作數(shù)據(jù)庫(kù)的時(shí)候,例如:批量修改,批量插入,那我們不應(yīng)該使用 for 循環(huán)去操作數(shù)據(jù)庫(kù),這樣會(huì)導(dǎo)致我們反復(fù)與數(shù)據(jù)庫(kù)發(fā)生連接和斷開(kāi)連接,影響性能和增加操作時(shí)間,所以可以使用SQL 批量修改的方式去操作數(shù)據(jù)庫(kù),感興趣的朋友一起學(xué)習(xí)下吧
    2023-09-09
  • MySQL基礎(chǔ)教程之DML語(yǔ)句詳解

    MySQL基礎(chǔ)教程之DML語(yǔ)句詳解

    DML 語(yǔ)句是指對(duì)數(shù)據(jù)庫(kù)中表的記錄進(jìn)行的操作,下面這篇文章主要給大家介紹了關(guān)于MySQL基礎(chǔ)教程之DML語(yǔ)句的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹

    MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹

    本文主要介紹了MySQL的索引類(lèi)型,根據(jù)索引的存儲(chǔ)方式來(lái)劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點(diǎn)是葉子節(jié)點(diǎn)包含了完整的記錄行,而非聚簇索引的葉子節(jié)點(diǎn)只有所以字段和主鍵ID,感興趣的同學(xué)可以閱讀本文
    2023-04-04
  • MAC下MySQL初始密碼忘記怎么辦

    MAC下MySQL初始密碼忘記怎么辦

    MySQL初始密碼忘記如何解決,這篇文章主要介紹了MAC下MySQL忘記初始密碼的解決辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Mysql子查詢(xún)IN中使用LIMIT應(yīng)用示例

    Mysql子查詢(xún)IN中使用LIMIT應(yīng)用示例

    有3張表,infor信息表,mconfig物料配置表,maaply物料申請(qǐng)表,要求是讀出申請(qǐng)表中哪些人申請(qǐng)哪些物料,接下來(lái)為大家介紹下Mysql子查詢(xún)IN中使用LIMIT
    2014-01-01

最新評(píng)論