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

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

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

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

全局變量:這些變量影響整個(gè)MySQL服務(wù)器,它們的更改需要具有相應(yīng)的權(quán)限,并且通常需要重啟服務(wù)器才能生效。
會話變量:這些變量僅對當(dāng)前連接到服務(wù)器的客戶端有效,每個(gè)連接都有自己的會話變量設(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)變量名 = 值;

# 使用用戶變量
SET @myvar = 1;
SELECT @myvar;

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

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

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

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

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

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

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

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

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

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

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

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

例如:

SET PERSIST max_connections = 1000;

或者:

SET GLOBAL PERSIST max_connections = 1000;

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

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

例如:

RESET PERSIST max_connections;

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

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

    Mysql大小寫敏感的問題

    這篇文章主要介紹了Mysql大小寫敏感的問題的相關(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ù)庫,感興趣的朋友可以了解下
    2020-09-09
  • MySQL中的批量修改、插入操作數(shù)據(jù)庫

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

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

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

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

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

    本文主要介紹了MySQL的索引類型,根據(jù)索引的存儲方式來劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點(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子查詢IN中使用LIMIT應(yīng)用示例

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

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

最新評論