关键参数速查

配置文件示例路径:/etc/mysql/mysql.conf.d/mysqld.cnf。生产值按内存和磁盘测,不照抄。

先看现在生效的

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'max_connections';
SHOW VARIABLES LIKE 'sync_binlog';
SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';

动态修改:

SET PERSIST innodb_buffer_pool_size = 4294967296;

8.0 的 SET PERSIST 会写入数据目录下的 mysqld-auto.cnf。重启仍在。不确定就用 SET GLOBAL 做临时验证。

经常被问的几组

方向参数备注
耐久innodb_flush_log_at_trx_commitsync_binlog都为 1 最稳,也最吃盘
连接max_connectionswait_timeout先查应用池大小
日志binlog_formatbinlog_row_image复制和闪回依赖它们
临时tmpdirtmp_table_size磁盘临时表会打满分区

注意

max_connections 调高之前看每个连接的内存。连接打满经常是泄漏,不是上限太小。改 innodb_log_file_size 的流程因版本而异,先查当前大版本文档再动手。

参考:Server System Variables