MySQL 主从库配置参数详解

#master 配置参数
server_id   复制中唯一标示
log-bin     binlog日志路径
log-bin-index   binlog 日志索引文件
binlog_format    binlog格式, Statement ,ROW MIXED
max_binlog_size    binlog日志文件大小 默认大小1G 
sync_binlog   多少个SQL以后调用fdatasync()函数刷新binlog to disk 
#fsync 是完全刷新到磁盘,fdatasync 只刷新数据,不刷新metadata
expire_logs_days    binlog 保留多少天
log_bin_trust_function_creators 开启binlog 时,是否允许创建存储程序(除非有super权限,或者指定deterministic reads sql data,no sql)
auto_increment_increment   #在数字表列auto_increment 每次增长的步长和幅度
auto_increment_offset  #在数字表列auto_increment  起始位置
binlog-do-db          binlog记录的数据库
binlog-ignore-db     binlog 不记录的数据库
log_bin_trust_function_creators  开启binlog 是否允许创建存储程序,除非有supper权限
max_binlog_cache_size    #binlog 最大的写入
binlog_stmt_cache_size   cache事务中非事务表产生SQL语句
max_binlog_stmt_cache_size
back_log   # MYSQL连接过多的时候,会把一些线程短暂的放在线程堆在中。
binlog_direct_non_transactionl_updates  事务中既有事务表和非事务表,发生数据变更,非事务表直接写入binlog,而不是也和事务表一样缓存在buffer中,  这个参数只影响SBR模式,RBR,MBR不影响
 
 
#SLAVE 配置参数
server-id  复制集群中的唯一标示
relay-log   #中继日志
relay-log-index  中继日志的索引文件
read-only # slave 只能读不能写(除非有super,和特权才可以写)
 
#slave 其他的参数
log-slow-slave-statements #开启slave慢查询记录SQL_THREAD线程的SQL语句
log_slave_update #记录Master传过来的数据,再次记录到slave binlog 再中继到其他的节点上
binlog-ignore-db= 忽略DB记录BINLOG
max_relay_log_size  中继日志文件大小
relay-log-info-file   中继文件info信息
relay_log_purge   中继日志的删除 SQL_thread线程回放完,删除中继日志
relay_log_recovery   slave 启动 未应用完的relay log 会被删除 重新从master 请求binlog 再次生成relay log
replicate-same-server-id   slave 复制是否应用和自己相同的server-id的binlog
skip-slave-start    MYSQL启动跳过slave 启动
slave_load_tmpdir    slave 使用load 产生的临时文件的目录
slave_transaction_retries  slave 复制中,应为innodb死锁导致复制线程执行事务的失败重试次数
sync_master_info  多少个事务后调用fdatasync()刷新master.info文件
slave_parallel_workers  多线程复制
 slave_exec_mode     #自动跳过主从SQL线程的错误
slave_parallel_type         
slave_parallel_workers       多线程复制 
sync_binlog=n  #多少SQL语句之后,调用fdatasync()函数刷新binlog到disk  ,fdatasync和fsync  fdatasync只刷新数据,不刷新metadata,fsync 完全刷新到磁盘
sql_log_bin  关闭和开启binlog
replicate-wild-do-table = dba.kian  #采用通配符,是否复制那些表
slave-preserve-commit-order 当启用多线程复制的时候,在从库回放数据顺序不一样,可以启用此参数保持一致
 
fsync() fdatasync() 的区别
fsync() 是完全刷新到磁盘,fdatasync()只刷新数据,不刷新metadata
posted @ 2019-10-25 18:16  石榴心  阅读(775)  评论(0编辑  收藏  举报