MySQL + Keepalived 双主热备搭建( 四 )

socket=/mysql/data/$MySql_Port/mysql.sock #用于本地连接的socket文件目录pid-file=/mysql/data/$MySql_Port/mysql.pid #进程ID文件的目录 。character-set-server=utf8 #默认字符集#------------------------------------ #log setting 日志设置#------------------------------------long_query_time=10 #慢查询时间,超过 10 秒则认为是慢查询slow_query_log=ON #启用慢查询日志slow_query_log_file=/mysql/log/$MySql_Port/${HostName}-query.log #慢查询日志目录log_queries_not_using_indexes=1 #记录未使用索引的语句log_slow_admin_statements=1 #慢查询也记录那些慢的optimize table,analyze table和alter table语句log-error=/mysql/log/$MySql_Port/${HostName}-error.log #错误日志目录#------------------------------------ #master modify parameter 主库A复制更改参数#------------------------------------server_id=$Server_Id #master和slave server_id 需要不同#二进制日志参数配置log_bin=/mysql/log/$MySql_Port/binlog/${HostName}-binlog#binlog目录log_bin_index=/mysql/log/$MySql_Port/binlog/${HostName}-binlog.index#指定索引文件的位置binlog_format=row #行模式复制,默认是 rowbinlog_rows_query_log_events=on #在 row 模式下,开启该参数,可以将把 sql 语句打印到 binlog 日志里面,方便查看binlog_cache_size=1M #事务能够使用的最大 binlog 缓存空间 。max_binlog_size=2048M #binlog 文件最大空间,达到该大小时切分文件expire_logs_days=7 #设置自动删除 binlog 文件的天数 。sync_binlog=1 #表示每次事务的 binlog 都会fsync持久化到磁盘,MySQL 5.7.7 之后默认为1,之前的版本默认为0innodb_flush_log_at_trx_commit=1 #表示每次事务的 redo log 都直接持久化到磁盘,默认值为1#------------------------------------ #slave parameter主库B参数#------------------------------------relay_log=/mysql/log/$MySql_Port/relaylog/${HostName}-relaylog #中继日志目录relay-log-index=/mysql/log/$MySql_Port/relaylog/${HostName}-relay.index#中继日志索引目录log_slave_updates=1 #主库B从主库A复制的数据会写入主库B binlog 日志文件里,默认是不写入read_only=0#主库B读写权限relay_log_purge=1 #自动清空不再需要中继日志# 并行复制参数#主库A上面怎么并行,主库B上面就怎么回放,基于逻辑时钟的概念#binlog 会记录组提交的信息,从回放的时候就可以知道哪些事务是一组里面的,#一组里面的就丢到不同线程去回放,不是一组里的就等待,以此来提升并行度slave-parallel-type=LOGICAL_CLOCK#多线程复制slave-parallel-workers=4#slave 上commit 的顺序保持一致,否则可能会有间隙锁产生slave-preserve-commit_order=1master_info_repository=TABLE #默认每接收到10000个事件,写一次master-info,默认是写在文件中的#修改 relay_log_info_repository 的好处#1.relay.info 明文存储不安全,把 relay.info 中的信息记录在 table 中相对安全 。#2.可以避免 relay.info 更新不及时,slave 重启后导致的主从复制出错 。relay_log_info_repository=TABLE #将回放信息记录在 slave_relay_log_info 表中,默认是记录在 relay-info.log 文件中relay_log_recovery=1#当slave重启时,将所有 relay log 删除,通过 sql 线程重放的位置点去重新拉日志#------------------------------------ #Replication Filter 主库B复制过滤参数


推荐阅读