代码改变世界

MySQL主从复制相关参数总结

2019-01-23 14:15  笨笨王  阅读(739)  评论(0)    收藏  举报
1.MySQL主从复制相关参数总结
1)Master相关参数
2)Slave相关参数
2.1)io_thread相关参数
2.2)sql_thread相关参数
3)其他重要的参数
3.1)复制过滤相关参数
3.2)复制crash-safe replication相关参数
3.3)延迟复制相关参数
3.4)多源复制相关参数
3.5)增强半同步相关参数
4)小结
4.1)异步复制相关参数小结
4.2)半同步复制相关参数小结
4.3)增强半同步复制相关参数小结
4.4)其他优化 小结
 
1)Master相关参数
binlog_format=row
binlog_row_image=full   {参数解释: FULL记录变更行的所有值,minimal只记录变更的值}
gtid_mode=on
enforce_gtid_consistency=on
binlog_group_commit_sync_delay=100  {参数解释:等待多少时间后才进行组提交}
binlog_group_commit_sync_no_delay_count = 10  {参数解释:最多10个事务提交 性能提升百分之二十五}
binlog_order_commits=off  {参数解释:binlog不用按顺序进行组提交}
max_binlog_size=1G
sync_binlog=0
 
2)Slave相关参数
binlog_transaction_dependency_tracking=commit_order|writeset|writest_session {参数解释:对sql_thread进行并行回放}
 
2.1)io_thread
slave_net_timeout=20|30 {参数解释:复制断开多久被感知,默认是60s}
change master to(MASTER_CONNECT_RETRY=60,MASTER_CONNECT_COUNT=24*3600,MASTER_AUTO_POSITION=1,MASTER_Delay=0,MASTER_BIND='')
 
2.2)sql_thread
log_slave_updates
slave_parallet_type=LOGICAL_CLOCK
slave_parallel_workers=4|8
slave_rows_search_algorithms=TABLE_SCAN,INDEX_SCAN
 
3)其他重要的参数
3.1)复制过滤相关参数 {最好在从库中设置}
binlog_do_db
binlog_ingore_do_db
 
3.2)复制crash-safe replication相关参数
relay_log_info_repository=table {参数解释:记录从库relaylog的信息,可以设置FILE(relay-log.info)或者TABLE(mysql.slave_relay_log_info)}
relay_log_recovery=1
sync_relay_log_info=1 {参数解释:每间隔多少事务刷新relay-log.info,如果是table(innodb)设置无效,每个事务都会更新}
sync_master_info=1 {参数解释:每间隔多少事务刷新master.info,如果是table(innodb)设置无效,每个事务都会更新}
 
3.3)延迟复制相关参数
stop slave sql_thread;
change master to \
master_delay=3600; 
start slave sql_thread;
{参数解释:该参数表示延迟3600s 如果禁用延迟复制将该值调整为0}
 
3.4)多源复制相关参数
change master to \
for channel 'channelname'
 
 
3.5)增强半同步相关参数
install plugin rpl_semi_sync_master soname 'semisync_master.so';
install plugin rpl_semi_sync_SLAVE soname 'semisync_slave.so';
 
set global rpl_semi_sync_master_enabled=1;
set global rpl_semi_sync_master_timeout=1000;
 
set global rpl_semi_sync_slave_enabled=1;
stop slave;start slave;
 
4)小结
4.1)异步复制相关参数小结
binlog_format=row
binlog_row_image=full  
gtid_mode=on
enforce_gtid_consistency=on
binlog_group_commit_sync_delay=100  
binlog_group_commit_sync_no_delay_count = 10  
binlog_order_commits=off  
slave_parallet_type=LOGICAL_CLOCK
slave_parallel_workers=4
 
4.2)半同步复制相关参数小结
rpl_semi_sync_master_wait_point = after_commit
 
4.3)增强半同步复制相关参数小结
rpl_semi_sync_master_wait_point =after_sync
 
4.4)其他优化 小结
set global rpl_semi_sync_master_enabled=1;
set global read_only=0;
set global super_read_only=0;
set global innodb_flush_log_trx_commit=1;
set global sync_binlog=1;
 
set global rpl_semi_sync_slave_enabled=1;
set global read_only=1;
set global super_read_only=1;
set global innodb_flush_log_trx_commit=2;
set global sync_binlog=0;