以下是针对 MySQL 8.0.29 的最优配置参数,适用于 128G 内存、SSD 磁盘和 48 核 CPU 的服务器环境:

[mysqld]
# 基础配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid

# 日志配置
log-error=/var/log/mysql/error.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=2
log_queries_not_using_indexes=1

# 内存配置
innodb_buffer_pool_size=100G
innodb_log_file_size=4G
innodb_log_buffer_size=128M
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
query_cache_type=0
query_cache_size=0
tmp_table_size=256M
max_heap_table_size=256M
join_buffer_size=256M
sort_buffer_size=256M
read_buffer_size=2M
read_rnd_buffer_size=2M
thread_cache_size=48

# 网络配置
max_connections=1000
max_connect_errors=100
max_allowed_packet=64M
wait_timeout=60
interactive_timeout=60

# 其他配置
default_storage_engine=InnoDB
innodb_file_per_table=1
innodb_stats_on_metadata=0
innodb_autoinc_lock_mode=2

解释:

  1. 基础配置:指定 MySQL 数据库存储路径、socket 文件路径和进程 ID 文件路径。
  2. 日志配置:开启慢查询日志,设置慢查询时间为 2 秒,记录未使用索引的查询语句,将错误日志和慢查询日志分别记录到不同的文件中。
  3. 内存配置:将 InnoDB 缓冲池大小设置为 100G,这是 MySQL 中最重要的内存参数之一,用于缓存数据和索引。将 InnoDB 日志文件大小设置为 4G,日志缓冲区大小设置为 128M,将日志立即刷新到磁盘。关闭查询缓存,设置临时表大小为 256M,设置最大堆表大小为 256M,设置连接缓存大小为 48。
  4. 网络配置:设置最大连接数为 1000,最大连接错误数为 100,最大允许的数据包大小为 64M,设置等待超时时间为 60 秒。
  5. 其他配置:将默认存储引擎设置为 InnoDB,开启每个表的独立表空间,禁用元数据统计信息,将自增锁定模式设置为 2。

这些配置参数的目的是优化 MySQL 数据库的性能和稳定性,以提高数据库的吞吐量和响应速度。但是,这些参数的最佳值取决于具体的环境和应用程序需求,需要进行实验和调整才能找到最佳值。

MySQL 8.0.29 最佳配置参数:128G 内存、SSD 磁盘、48 核 CPU

原文地址: https://www.cveoy.top/t/topic/jI2m 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录