32G服务器内存配置,my.cnf参数预估

32G内存中,mysql服务器配置参数变更建议
----------------------------------------------------------------------------------------------------------------
innodb_file_per_table = 1
打开独立表空间
back_log = 300
#back_log 是操作系统在监听队列中所能保持的连接数
max_connections = 8000
#MySQL 服务所允许的同时会话数的上限
max_connect_errors = 30
#每个客户端连接最大的错误允许数量
table_cache = 4096
#所有线程所打开表的数量
open_files_limit = 10240
max_allowed_packet = 32M
#每个连接独立的大小.大小动态增加
wait_timeout = 10
#指定一个请求的最大连接时间
sort_buffer_size = 16M
# 排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序
join_buffer_size = 16M
#此缓冲被使用来优化全联合(full JOINs 不带索引的联合).
query_cache_size = 128M
#查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果
transaction_isolation = REPEATABLE-READ
# 设定默认的事务隔离级别
thread_stack = 512K
# 线程使用的堆大小. 此容量的内存在每次连接时被预留.
log-bin=mysql-bin
# 打开二进制日志功能
innodb_buffer_pool_size = 6G
#InnoDB使用一个缓冲池来保存索引和原始数据, 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%
innodb_file_io_threads = 4
#用来同步IO操作的IO线程的数量
innodb_thread_concurrency = 16
#在InnoDb核心内的允许线程数量
innodb_log_buffer_size = 16M
# 用来缓冲日志数据的缓冲区的大小.
innodb_log_file_size = 512M
在日志组中每个日志文件的大小.
innodb_log_files_in_group = 3
# 在日志组中的文件总数
innodb_lock_wait_timeout = 120
# 在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久;

    推荐阅读