关键参数速查
配置文件示例路径:/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_commit、sync_binlog | 都为 1 最稳,也最吃盘 |
| 连接 | max_connections、wait_timeout | 先查应用池大小 |
| 日志 | binlog_format、binlog_row_image | 复制和闪回依赖它们 |
| 临时 | tmpdir、tmp_table_size | 磁盘临时表会打满分区 |
注意
max_connections 调高之前看每个连接的内存。连接打满经常是泄漏,不是上限太小。改 innodb_log_file_size 的流程因版本而异,先查当前大版本文档再动手。