校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySQL8新特性:持久化全局變量的修改方法

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

熱門標簽:德惠市地圖標注 商家地圖標注哪個好 陜西400電話如何申請 合肥營銷外呼系統收費 遵義地圖標注app 深圳 承德電腦地圖標注 外呼系統從哪買 地圖標注賺錢真假

前言

在8之前的版本中,對于全局變量的修改,其只會影響其內存值,而不會持久化到配置文件中。數據庫重啟,又會恢復成修改前的值。從8開始,可通過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)

全局變量的修改會保存在兩處,

1.  數據目錄下mysqld-auto.cnf文件,

     注意,不是啟動時--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記錄了這次修改的用戶及時間信息。

在數據庫啟動時,會首先讀取其它配置文件,最后才讀取mysqld-auto.cnf文件。不建議手動修改該文件,其有可能導致數據庫在啟動過程中因解析錯誤而失敗。如果出現這種情況,可手動刪除mysqld-auto.cnf文件或將persisted_globals_load變量設置為off來避免該文件的加載。

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,與前者相比,其只持久化全局變量,而不修改其內存值。同時,在權限方面,前者只需要SYSTEM_VARIABLES_ADMIN,后者還需要PERSIST_RO_VARIABLES_ADMIN權限。

對于已經持久化了變量,可通過RESET PERSIST命令清除掉,注意,其只是清空mysqld-auto.cnf和performance_schema.persisted_variables中的內容,對于已經修改了的變量的值,不會產生任何影響。

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

mysql> set persist max_connections=default;

這個命令同“set global max_connections=default”類似,都會將變量的值設置為默認值,只不過前者還會將默認值持久化到配置文件中。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

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

標簽:貴州 商丘 巴中 新余 南陽 揚州 三門峽 贛州

巨人網絡通訊聲明:本文標題《MySQL8新特性:持久化全局變量的修改方法》,本文關鍵詞  MySQL8,新特性,新,特性,持久化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL8新特性:持久化全局變量的修改方法》相關的同類信息!
  • 本頁收集關于MySQL8新特性:持久化全局變量的修改方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 秦皇岛市| 承德县| 张掖市| 桐柏县| 定州市| 波密县| 盐山县| 阿勒泰市| 广平县| 开化县| 土默特右旗| 安徽省| 沐川县| 新乡市| 呼玛县| 桃园市| 青河县| 吐鲁番市| 阿坝县| 宝鸡市| 陇南市| 左云县| 日土县| 桂阳县| 万盛区| 尖扎县| 双牌县| 万源市| 宜阳县| 崇义县| 灵台县| 扎囊县| 永济市| 蓬莱市| 静海县| 商河县| 榕江县| 武川县| 龙陵县| 康马县| 绵阳市|