learning_notes

学习笔记

View project on GitHub

配置

#/***********************连接设置*************************/
max_connections=500 #最大连接数,越多消耗内存多
back_log=150 #等待连接的数量
max_user_connection=300 #每个用户最大的连接数
max_connect_errors = 1844674407370954751 #最大连接错误数

#/***********************缓存设置*************************/
max_allowed_packet = 64M #可以控制其通信缓冲区的最大长度,所以当缓冲区的大小太小的时候,导致某些查询和批量插入操作报错
binlog_cache_size = 32768  #binlog缓存大小,对于大事务,如果此值太小,会使用磁盘临时文件
max_heap_table_size = 1342177280 #独立的内存表所允许的最大容量
sort_buffer_size = 2097152 #每个线程排序使用的内存,超过使用磁盘临时文件
max_length_for_sort_data=1024 #排序每一行的数据长度
join_buffer_size = 262144 #联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享
read_buffer_size =  2097152 #读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享
innodb_buffer_pool_size = 536870912
innodb_buffer_pool_filename= ib_buffer_pool #buffer持久化名称
innodb_buffer_pool_instances = 1 #示例数量
thread_cache_size=64 #线程缓存,减少创建线程开销
query_cache_size=67108864 #查询缓存
key_buffer_size=134217728 #索引缓存

#/***********************日志设置*************************/
sync_binlog=1 #每次binlog到磁盘
binlog_format=mixed #row statement mixed
binlog_row_image=FULL #全部变化

slow_query_log=ON #开启慢日志
slow_query_log_file=/PATH #慢日志路径
long_query_time=10 #慢日志的记录时间

general_log=on #生成日志
general_log_file=/path #日志路径

#/***********************innodb设置*************************/
innodb_buffer_pool_size=536870912
innodb_change_buffer_max_size=25 #更新频繁,调大change buffer
innodb_data_file_path=ibdata1:10M:autoextend
innodb_data_home_dir=/path
innodb_file_per_table=on #每个表开启一个表空间
innodb_open_files=512 #每个事务打开
innodb_page_size=16384 
innodb_flush_log_at_trx_commit=1 #每个事务刷盘 redo log
innodb_io_capacity=20000 #刷脏页的io速度,一般设置为磁盘iops,可以使用fio工具测
innodb_flush_neighbors=0 #是否刷邻居脏页 0不需要 1需要 一般ssd不需要
innodb_thread_concurrency=0 #0:不限制 一般设置:64~128来减少上下文切换

#/***********************gtid设置*************************/
gtid_mode=on
enforce_gtid_consistency=on

#/***********************其他设置*************************/
open-files-limit = 65535 #打开文件限制
net_buffer_length=8192 #意味着数据达到8k,server端就会发送一次数据给client
wait_timeout=10  #指的是MySQL再关闭一个非交互的连接之前所需要等待的秒数