[mysqld]
user= mysql
port= 3306
basedir = /usr
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
log_error = /var/log/mysql/error.log
bind-address = 0.0.0.0
#编码
character-set-server = utf8mb4
#跳过dns服务器域名检查
skip_name_resolve = 1
#用于指定操作系统允许mysqld打开的最大文件数
open_files_limit=65535
#back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中
back_log=1024
#用来设置最大连接数
max_connections=512
#负责阻止过多尝试失败的客户端
max connect errors = 1000000
#表描述符缓存大小,可减少文件打开/关闭次数;
table_open_cache =1024
#表定义缓存中表的个数
table_definition_cache = 1024
#表缓存实例数,为通过减小会话间争用提高扩展性,
table_open_cache_instances = 64
#每个连接线程被创建时,MySQL给它分配的内存大小
thread_stack = 512K
#多进程条件下为MyISAM数据表进行锁定
external-locking = FALSE
#限制server接受的数据包大小。
max_allowed_packet = 32M
#MySQL执行排序使用的缓冲大小
sort_buffer_size = 8M
# 联合查询操作所能使用的缓冲区大小
join_buffer_size = 8M
#可以重新利用保存在缓存中线程的数量,3G —> 32,大于3G —> 64
thread_cache_size = 768
#MySQL的查询缓冲大小
query_cache_size=0
query_cache_type =0
#关闭非交互连接,建议300到600
interactive_timeout = 600
#关闭非交互连接,建议300到600
wait_timeout 600
#heap(堆积)表缓冲大小
tmp_table_size = 32M
max_heap_table_size = 32M
#开启慢查询日志
slow_query_log = 1
slow_querylog_file = /var/lib/mysql/slow.log
#慢查询时间 超过1秒则为慢查询
long_query_time =0.5
#标识
server-id = 3306100
#二进制日志bin log
log-bin=/data/mysql/mysql-binlog
#表示每次事务提交的binlog刷到磁盘上
sync_binlog =1
#为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存。
binlog_cache_size = 4M
max_binlog_cache_size = 1G
max_binlog_size =1G
##超过7天的binlog删除
expire_logs_days = 7
#TABLE表示保存在mysql.slave_master_info表中,FILE则表示保存在master.info文件中
master_info_repository = TABLE
#用于保存slave读取relay log的位置信息,以便crash重启后继续恢复;“FILE”表示将信息写入relay-log.info文件,“TABLE”表示将信息写入mysql.slave_relay_log_info表中。
relay_log_info_repository = TABLE
#开启gtid模式,GTID是全局事务
gtid_mode = on
enforce_gtid_ consistency = 1
#从服务器从主服务器接收到的更新不记入它的二进制日志
log_slave_updates
#bin log格式
binlog_format = row
#当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志
relay_log_recovery=1
relay-log-purge = 1
#指定用于索引的缓冲区大小
key_buffer_size = 32M
#MySQL读入缓冲区大小,如果对表的顺序扫描请求非常频繁,并且你认为频繁扫描进行得太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能
read_buffer_size = 8M
#MySQL的随机读缓冲区大小.当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区。MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大
read_rnd_buffer_size = 4M
#bulk insert 的缓存大小
bulk_insert_buffer_size =64M
#尝试获取元数据锁的超时
lock_wait_timeout = 3600
#timestamp列的数据自动更新到更新操作所发生的那个时间点
explicit_defaults_for_timestamp =1
#并发线程数的限制值,当并发用户线程数量小于64,建议0
innodb_thread_concurrency = 0
#自旋锁的轮转数
innodb_sync_spin_loops = 100
#控制轮训间隔
innodb_spin_wait_delay = 30
#事务隔离
transaction_isolation = REPEATABLE-READ
#缓冲池字节大小
innodb_buffer_pool_size = 1024M
#多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写。
innodb_buffer_pool_instances =8
#在启动时把热数据加载到内存
innodb_buffer_pool_load_at_startup = 1
#在关闭时把热数据dump到本地磁盘
innodb_buffer_pool_dump_at_shutdown = 1
#用来指定innodb 表空间文件
innodb_data_file_path = ibdata1:1G:autoextend
#事务提交时,将日志缓存区中的日志写入文件中,同时将这次写入强制更新到磁盘文件中
innodb_flush_ log at_trx_commit = 1
#将数据写入到内存中的日志缓存中
innodb _log_buffer_size = 32M
#日志文件大小
innodb_log_file_size = 2G
innodb_log_files_in_group = 2
#脏页刷盘控制
innodb_io_capacity = 2000
#脏页刷盘控制
innodb_io_capacity max = 4000
#Flush Neighbor Page(刷新邻接页)的特性
innodb_flush_neighbors = 0
#写线程个数
innodb_write_io_threads = 8
#读线程个数
innodb_read_io_threads = 8
#控制purge线程数
innodb_purge_threads= 4
#刷脏的进程
innodb_page_cleaners = 4
#限制Innodb能打开的表的数据。
innodb_open_files = 65535
#控制Innodb的脏页在缓冲中在那个百分比之下,值在范围1-100,
innodb_max_dirty_pages_pct = 50
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容