参数类型
分为动态参数和静态参数。
动态参数:通过set global和set session进行设置。
静态参数:需要修改my.cnf文件,然后重启实例生效。
表空间
定义表空间路径、初始大小(默认10m)、自动扩展策略(默认64m)
Innodb_data_file_path
初始大小建议调整为1G。
双一模式
双一模式:保证数据更安全 innodb_flush_log_at_trx_commit=1 sync_binlog=1
脏页刷新
双一模式分别是redo log和binlog的内存到文件到磁盘的刷新机制。这里是对数据到磁盘的刷新机制。
innodb_max_dirty_pages_pct,表示脏页所占的百分比,默认75%。设置为25%-50%,避免后期刷新时影响TPS。
innodb_adaptive_flushing,自适应刷新,默认开启的。
插入缓存
提高DML操作性能。
innodb_change_buffer_max_size,建议调为50。
InnoDB缓冲池内存大小
innodb_buffer_pool_size,服务器只跑数据库一个应用,建议调为内存的50%-80%。可以支持在线修改,所以前期可以不用设置太大。
innodb_buffer_pool_instance,提高并发性,避免出现内存争用。默认为1,建议设置为8。
服务器关闭交互式连接前等待的时间
interactive_timeout
wait_timeout
两个参数设置值一致,避免过大的连接时间,默认28800(8小时),建议设置为300-600s
事务的隔离级别
transaction_isolation,包含四个隔离级别。默认是REPEATABLE-READ,可重复读。
可同时打开的.idb文件数
innodb_open_files
默认是300,建议调整为65535。
MySQL最大连接数
max_connections,默认是151。
连接量超过就会常见的"too mang connections"。
设置得过大容易出现实例宕机。
InnoDB并发线程数
innodb_thread_concurrency,建议调整为服务上CPU核数的两倍。
慢查询
slow_query_log,建议开启
long_query_time,默认10s,慢查询超时则记录日志
log_queries_not_using_indexes,没有使用索引的sql,同样记录到慢查询日志。
服务器节点唯一标识
server_id,默认是0
IO性能指标
innodb_io_capacity,默认200,使用ssd可以调高参数。
《MySQL王者晋级之路》 张甦(sū)