连接层
max_connections = 1000 最大连接数
max_connect_errors=999999 调整到足够大 连接失败到达这个数 就不让连接
wait_timeout = 60 空闲连接超时时间
interactive_wait_timeout = 3600
net_read_timeout net_write_timeout 这里是主从 心跳相关的
max_allowed_packet = 32mb 最大数据包大小
Server层
sql_safe_updates = 1 就是修改语句必须有where 条件 而且必须有索引
slow_query_log = on 慢日志
slow_query_log_file = /data/3307/slow.log 慢日志地址
long_query_time = 1 多长时间属于慢查询
sort_buffer = 8M
join_buffer = 8M
read_buffer = 1M
read_rnd_buffer = 32m
tmp_table = 16m
heap_table = 16m
max_execution_time = 28800 sql最大执行时间
lock_wait_timeout = 3600 锁等待时间 mdl锁
lower_case_table_names = 1 文件目录 表名啥的忽略大小写
thread_cache_size= 64 线程缓冲个数 调的几率不打
log_timestamps = system 日志记录 按照操作系统时间来记录
init_connect = "set names utf-8mb4" 客户端连接的时候设置字符集
event_scheduler = OFF 事件调度器 一般不开
binlog_expire_logs_seconds = 二进制日志的过期时间 默认30天
sync_binlog= 1 每次事务提交都刷新二进制日志
log-bin = /data/3306/mysql-bin
log-bin-index = /data/3306/mysql-bin.index
max_bin_log_size = 500m binlog大小
binlog_format = row binlog格式
engin级别参数
transcation_isolation = "READ-COMMITTED" 隔离级别
innodb_data_home_dir = /xxx
innodb_log_group_home_dir = /xxx
innodb_log_file_size = 2048m 日志文件大小
innodb_log_files_in_group = 3 redo文件数量
innodb_flush_log_at_trx_commit = 2 金融级别 就1 其他可以设置2
innodb_flush_method = o_direct 对于数据页 直接刷磁盘 不经过文件系统缓存 redo经过os缓存
innodb_io_capacity = 1000 每次刷脏页的个数
innodb_io_capacity_max = 4000 最大刷脏页的数量 4000 = 80m左右
innodb_buffer_pool_size = 64G 物理内存的 75% 左右
innodb_buffer_pool_instances = 4
innodb_log_buffer_size = 64m redo buffer 大小
innodb_max_dirty_pages_pct = 85 脏页占比 就刷新脏页
innodb_lock_wait_timeout = 10 行锁的等待时间
innodb_open_files = 63000 文件句柄
innodb_page_cleaners = 4 刷脏页的线程数量
innodb_sort_buffer_size = 64m 排序缓冲区
innodd_print_all_deadlocks= 1 死锁监测
innodb_rollback_on_timeout = on 事务超时 自动回滚
innodb_deadlock_detect = on 死锁的侦测和处理