配置仅供参考,如有问题请指出,更优配置允许的话可贴出来做参考,3Q
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
# mysql 5.6.39
# linux CentOS release 6.9 (Final)
# cpu 4
# cpu cores 1
# processor 4
# menory 32G
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
#basic
port = 3306
datadir=/data/mysql
socket=/data/mysql/mysql.sock
character-set-server=utf8
log-error = /data/logs/mysql/error.log
#slowquery
long_query_time = 1
# 开始慢查询
slow-query-log = 1
slow-query-log = /data/logs/mysql/slow_queries.log
slow_query_log_file = /data/logs/mysql/slow_queries.log
#master
# 开启二进制日志功能
log-bin=mysql-bin
server-id=1
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
binlog_format = MIXED
#common
# 队列连接保持数,若出现‘connection refused’报错,可提升该值
back_log = 512
# 最大连接数上限
max_connections = 8192
# 每个客户端最大错误允许数量,超过该值服务可能会重启,密码错误也累计
max_connect_errors = 1280000
# 每个进程可打开的文件数量
open_files_limit = 8192
# 每个连接独立的大小,大小动态增加
max_allowed_packet = 16M
# 超时等待时间
wait_timeout = 31536000
# 连接超时时间
connect_timeout = 30
interactive_timeout = 31536000
event_scheduler = ON
slow_launch_time = 2
sql_mode =
skip-name-resolve
external-locking = FALSE
#INNODB
#InnoDB使用一个缓冲池来保存索引和原始数据,单独的数据库服务可以设置到内存的80%
innodb_buffer_pool_size = 20G
# 附加的内存池被 InnoDB 用来保存 metadata 信息(5.6中不再推荐使用)
# innodb_additional_mem_pool_size = 100M
# 用来缓冲日志数据的缓冲区的大小, 快满时写入磁盘
innodb_log_buffer_size = 20M
# 每个日志文件的大小,越大恢复进程时间越长
innodb_log_file_size = 128M
# 日志组中的文件总数,一般 2 ~ 3
innodb_log_files_in_group = 3
# 刷新事务日志的频率, 0 约每秒刷新到磁盘, 1 每次提交刷新到磁盘 , 2 每次提交写入日志, 每秒后才刷新的磁盘
innodb_flush_log_at_trx_commit = 0
# 用来同步IO操作的IO线程的数量
innodb_file_io_threads = 4
# 在 InnoDb 核心内的允许线程数量,过高可能会导致线程互斥
innodb_thread_concurrency = 4
# 是否需要将所有表的数据和索引存放在共享表空间
innodb_file_per_table = 0
# 在被回滚前,一个 InnoDB 的事务应该等待一个锁被批准多久, 该值对解决死锁有帮助
innodb_lock_wait_timeout = 120
#myisam
# 重建索引时所允许的最大临时文件的大小,如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
myisam_max_sort_file_size = 100G
# 此缓冲当 MySQL 需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配.
# 这在每个线程中被分配.所以在设置大值时需要小心.
myisam_sort_buffer_size=128M
# 自动检查和修复没有适当关闭的 MyISAM 表.
myisam_recover
# 多个 CPU 以及大内存情况设置为 1
# myisam_repair_threads = 1
#query
query_alloc_block_size = 8192
# 最大缓冲数,只有小于该值的查询才会进去缓冲
query_cache_limit = 4M
# 查询缓冲大小
query_cache_size = 128M
query_cache_min_res_unit= 2k
query_cache_type = 0
query_cache_wlock_invalidate = OFF
query_prealloc_size = 8192
#thread
# cache 保存重用线程数
thread_cache_size = 64
# 线程使用的堆大小. 此容量的内存在每次连接时被预留
thread_stack = 512k
# 同一时间给予渴望被运行的线程的数量.
# 一般设置为 线程数的两倍, 即: 物理CPU数 * 单CPU核数 * 单核线程数 * 2
thread_concurrency = 32
#table
table_definition_cache = 512
#所有线程打开表的数量
table_open_cache = 2000
# 内存单个临时表的最大大小
tmp_table_size = 256M
#独立的内存表所允许的最大容量,防止创建的表太大而耗尽内存
max_heap_table_size = 256M
max_tmp_tables = 512
#buffer
# 关键词缓冲的大小,一般用来缓冲 MyISAM 表的索引块,不要大于可能内存的30%
key_buffer_size = 2048M
# 排序缓冲被用来处理类似 ORDER BY 以及 GROUP BY 队列所引起的排序
sort_buffer_size = 32M
# 用来做 MyISAM 表全表扫描的缓冲大小.
read_buffer_size = 32M
# 用于联合。类似的联合在极大多数情况下有非常糟糕的性能表现,但是将此值设大能够减轻性能影响.
join_buffer_size = 32M
# 增大该值可能优化突发插入,不要大于 key_buffer_size
bulk_insert_buffer_size = 64M
# 增大该值,可以提高很多 ORDER BY 的性能
#read_rnd_buffer_size = 64M
[client]
socket=/data/mysql/mysql.sock
default-character-set=utf8
[mysqldump]
quick
max_allowed_packet = 48M
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
网友评论