MySQL数据库优化配置文件my.cnf参数优化参考:
[client]
default-character-set=utf8
loose-local-infile=1
#load data local infile数据加载配置
[mysqld]
########basic settings########
port = 3306
autocommit = 0
#commit提交
character_set_server=utf8
lower_case_table_names=1
#MySQL忽略大小写启用
event_scheduler=ON
#开启任务计划
skip_name_resolve = 1
#禁用dns解析
max_connections = 16384
#MySQL服务器允许的最大连接数16384
max_connect_errors = 1000
#设置错误连接数,阻止过多尝试失败的客户端
datadir = /usr/local/mysql/data
transaction_isolation = READ-COMMITTED
#设置事务隔离级别,读取提交内容
explicit_defaults_for_timestamp = 1
#timestamp列如果没有显式定义为not null,则支持null属性
join_buffer_size = 134217728
#联合查询操作所能使用的缓冲区大小128M
tmp_table_size = 268435456
#设置内存中临时表为256M
tmpdir = /tmp
max_allowed_packet = 268435456
#接收的数据包256M
interactive_timeout = 1800
#服务器关闭交互式连接前等待活动的秒数
wait_timeout = 1800
#等待连接超时时间
read_buffer_size = 16777216
#MySql读入缓冲区大小16M
read_rnd_buffer_size = 33554432
#MySql的随机读缓冲区大小32M
sort_buffer_size = 33554432
#MySql执行排序使用的缓冲大小32M
########log settings########
log_error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
#超过5秒的SQL会记录下来
#########print not use index#######
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
min_examined_row_limit = 100
#查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
########replication settings########
log-bin=mysql-bin
binlog-format=row
server_id=1
#配置mysql replaction需要定义,不能和其他节点重复
binlog_annotate_row_events=true
#开启记录annotate事件
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_bin = bin.log
sync_binlog = 1
#每个事务提交时候,把事务日志从缓存区写到日志文件中,并且刷新日志文件的数据到磁盘上
relay_log = relay.log
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
slave_skip_errors = ddl_exist_errors
#忽略所有类型为ddl_exist_errors的错误
########innodb settings########
innodb_page_size = 8192
#设置数据页8k
innodb_buffer_pool_size = 10G
#缓存用户表及索引数据空间10G
innodb_buffer_pool_instances = 8
#开启多个内存缓冲池
innodb_buffer_pool_load_at_startup = 1
#在启动时将本地热数据加载到InnoDB缓冲池中
innodb_buffer_pool_dump_at_shutdown = 1
#在关闭时把热数据dump到本地磁盘中
innodb_lru_scan_depth = 2000
#控制LRU最少使用链表尾部遍历的长度
innodb_lock_wait_timeout = 5
锁等待超时时间
innodb_io_capacity = 4000
#刷新的脏页的数量
innodb_io_capacity_max = 8000
#设置会影响InnoDB每秒在后台执行次数
innodb_flush_method = O_DIRECT
#InnoDB使用O_DIRECT模式打开数据文件,用fsync()函数去更新日志和数据文件。
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
#innodb表空间文件存储压缩格式Barracuda
innodb_undo_logs = 128
#控制用到的回滚段的个数
innodb_undo_tablespaces = 3
#设定创建的undo表空间的个数
innodb_flush_neighbors = 1
#innodb的内部逻辑也会把多个page合并成一次IO进行提交刷写性能更高
innodb_log_file_size = 4G
#日志文件大小
innodb_log_buffer_size = 16777216
#innodb缓存大小
innodb_purge_threads = 4
#开启清写线程
innodb_large_prefix = 1
#允许列索引最大达到3072
innodb_thread_concurrency = 64
#限制并发线程的数量
innodb_print_all_deadlocks = 1
#把死锁信息打印到错误日志里
innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864
#innodb排序缓存大小
#########################################