主頁(yè) > 知識(shí)庫(kù) > MySQL8新特性:持久化全局變量的修改方法

MySQL8新特性:持久化全局變量的修改方法

熱門(mén)標(biāo)簽:德惠市地圖標(biāo)注 商家地圖標(biāo)注哪個(gè)好 陜西400電話(huà)如何申請(qǐng) 合肥營(yíng)銷(xiāo)外呼系統(tǒng)收費(fèi) 遵義地圖標(biāo)注app 深圳 承德電腦地圖標(biāo)注 外呼系統(tǒng)從哪買(mǎi) 地圖標(biāo)注賺錢(qián)真假

前言

在8之前的版本中,對(duì)于全局變量的修改,其只會(huì)影響其內(nèi)存值,而不會(huì)持久化到配置文件中。數(shù)據(jù)庫(kù)重啟,又會(huì)恢復(fù)成修改前的值。從8開(kāi)始,可通過(guò)SET PERSIST命令將全局變量的修改持久化到配置文件中。

試舉一例

mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| max_connections | 151 |
| mysqlx_max_connections | 100 |
+------------------------+-------+
rows in set (0.00 sec)

mysql> set persist max_connections=200;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| max_connections | 200 |
| mysqlx_max_connections | 100 |
+------------------------+-------+
rows in set (0.00 sec)

全局變量的修改會(huì)保存在兩處,

1.  數(shù)據(jù)目錄下mysqld-auto.cnf文件,

     注意,不是啟動(dòng)時(shí)--defaults-file指定的配置文件。

[root@slowtech ~]# cat /var/lib/mysql/mysqld-auto.cnf 
{ "Version" : 1 , "mysql_server" : { "max_connections" : { "Value" : "200" , "Metadata" : { "Timestamp" : 1525509217566258 , "User" : "root" , "Host" : "localhost" } } } }

持久化信息以json格式保存,其中,Metadata記錄了這次修改的用戶(hù)及時(shí)間信息。

在數(shù)據(jù)庫(kù)啟動(dòng)時(shí),會(huì)首先讀取其它配置文件,最后才讀取mysqld-auto.cnf文件。不建議手動(dòng)修改該文件,其有可能導(dǎo)致數(shù)據(jù)庫(kù)在啟動(dòng)過(guò)程中因解析錯(cuò)誤而失敗。如果出現(xiàn)這種情況,可手動(dòng)刪除mysqld-auto.cnf文件或?qū)ersisted_globals_load變量設(shè)置為off來(lái)避免該文件的加載。

2. performance_schema.persisted_variables

mysql> select * from performance_schema.persisted_variables;
+-----------------+----------------+
| VARIABLE_NAME | VARIABLE_VALUE |
+-----------------+----------------+
| max_connections | 200 |
+-----------------+----------------+
row in set (0.00 sec)

全局變量的持久化除了SET PERSIST外,還有SET PERSIST_ONLY,與前者相比,其只持久化全局變量,而不修改其內(nèi)存值。同時(shí),在權(quán)限方面,前者只需要SYSTEM_VARIABLES_ADMIN,后者還需要PERSIST_RO_VARIABLES_ADMIN權(quán)限。

對(duì)于已經(jīng)持久化了變量,可通過(guò)RESET PERSIST命令清除掉,注意,其只是清空mysqld-auto.cnf和performance_schema.persisted_variables中的內(nèi)容,對(duì)于已經(jīng)修改了的變量的值,不會(huì)產(chǎn)生任何影響。

除此之外,還可以通過(guò)下述方式將全局變量持久化為默認(rèn)值。注意,是默認(rèn)值,而不是修改前的值。

mysql> set persist max_connections=default;

這個(gè)命令同“set global max_connections=default”類(lèi)似,都會(huì)將變量的值設(shè)置為默認(rèn)值,只不過(guò)前者還會(huì)將默認(rèn)值持久化到配置文件中。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • gearman + mysql方式實(shí)現(xiàn)持久化操作示例
  • 詳解使用Docker部署MySQL(數(shù)據(jù)持久化)
  • Java emoji持久化mysql過(guò)程詳解
  • MySQL8新特性:自增主鍵的持久化詳解
  • MySQL 8.0統(tǒng)計(jì)信息不準(zhǔn)確的原因
  • 概述MySQL統(tǒng)計(jì)信息
  • 詳解mysql持久化統(tǒng)計(jì)信息

標(biāo)簽:貴州 商丘 巴中 新余 南陽(yáng) 揚(yáng)州 三門(mén)峽 贛州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL8新特性:持久化全局變量的修改方法》,本文關(guān)鍵詞  MySQL8,新特性,新,特性,持久化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL8新特性:持久化全局變量的修改方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MySQL8新特性:持久化全局變量的修改方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章