在8以前的版本中,對於全局變量的修改,其只會影響其內存值,而不會持久化到配置文件中。數據庫重啓,又會恢復成修改前的值。從8開始,可經過SET PERSIST命令將全局變量的修改持久化到配置文件中。mysql
試舉一例sql
mysql> show variables like '%max_connections%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | max_connections | 151 | | mysqlx_max_connections | 100 | +------------------------+-------+ 2 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 | +------------------------+-------+ 2 rows in set (0.00 sec)
[root@slowtech ~]# cat /var/lib/mysql/mysqld-auto.cnf { "Version" : 1 , "mysql_server" : { "max_connections" : { "Value" : "200" , "Metadata" : { "Timestamp" : 1525509217566258 , "User" : "root" , "Host" : "localhost" } } } }
mysql> select * from performance_schema.persisted_variables; +-----------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +-----------------+----------------+ | max_connections | 200 | +-----------------+----------------+ 1 row in set (0.00 sec)
mysql> set persist max_connections=default;