mysqld.cnf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
character_set_server = utf8mb4
# InnoDB线程并发数,建设设置为CPU个数
innodb_thread_concurrency = 8
# 暂时不设,使用默认的128MB,注释掉。后续动态调整
# innodb_buffer_pool_size = 128M
# 如果缓存池设置足够大,则可以适当增加该参数,默认值为1。  
innodb_buffer_pool_instances = 2
# 随机读缓存
read_rnd_buffer_size = 256K
# 执行表的顺序扫描的每个请求都分配一个读缓冲区
read_buffer_size = 256K
# 结果缓冲区,默认就是16K,一般无需要修改
net_buffer_length = 16K
# 所有线程的打开表的数量。
# 增加此值会增加mysqld所需的文件描述符数
# 通过Opened_tables查看是否需要增加值
table_open_cache = 6000
# InnoDB引擎的读写线程,建设设置成CPU个数
innodb_write_io_threads = 8
innodb_read_io_threads = 8
# 最大客户端包
max_allowed_packet = 512M
# 最大连接数
max_connections = 2048

## 磁盘IO优化
# 当磁盘为SSD磁盘时,关闭该项
innodb_log_compressed_pages = OFF
# 默认为2000,SSD磁盘时,增加该值,官方建议为2500
innodb_io_capacity_max = 2500
# 默认值为100,SSD磁盘时,增加该值,官方建议为1000
innodb_io_capacity = 1000
# 当磁盘为SSD时,禁用该选项
innodb_flush_neighbors = 0
# 当磁盘为SSD时,关闭压缩页面记录
innodb_log_compressed_pages = OFF
# 对事务要求不高的场景建设设置为2或者0,默认为1
innodb_flush_log_at_trx_commit = 2

## 其他参数
server_id = 1
log_bin = log-bin
# 二进制日志失效时间
expire-logs-days = 3
# 慢查询日志时长定义,单位MS
long_query_time = 500
# 记录慢查询日志
slow_query_log = 1
# 如果是备库,开户该选项则仍然记录binglog日志,用于后续提升为主
log-slave-updates = 1
# GTID设置,用于CHANGE MASTER时自动查找Position
gtid_mode       =  on
enforce_gtid_consistency = 1
# 关闭客户端域名解析
skip_name_resolve = 1
# 记录未使用索引的查询语句
log_queries_not_using_indexes = 1
# 慢查询日志记录到文件
log_output = file