MySQL配置文件my.cnf参数配置

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排序缓存大小
#########################################

发表评论