码迷,mamicode.com
首页 > 数据库 > 详细

mysql-学习-10-20170531-复制类型的选择

时间:2017-05-31 23:10:29      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:金融   mysq   nbsp   .com   insert   style   xxxx   second   ast   

mysql-学习-10-20170531-复制类型的选择

技术分享

 

技术分享

技术分享

 遇到从库延迟,怎么定位是一个大事务呢 ?
 从库延迟,你会怎么做? 
 
首先 
 show slave status\G;   里面有个
 exec_master_log_position  里面的数字卡主了,不会动,那么1 通过mysqlbinlog  有2个线程
 io_thread, sql_thread  
 
 
 
 second_behind_master = IO_Thread.timestamp -SQL_Thread.timestamp 
 
 
MySQL 每秒1万个Insert 是非常轻松的
second_behind_master = 0  

 

S1, S2, S3  他们谁同步的最靠前,怎么判断 ???
gtid没有上面的second_behind_master 这个参数
 
首先要判断它身是不是把IO_thread拉过来的日志执行完毕了。 
 
read_master_log_file==relay_master_log_file 
read_master_log_pos = exec_master_log_pos 
recivie_gtid, execute_gtid  

再看谁执行的靠前?

先看是否差一个文件否?

s1.read_master_log_file   s2. read_master_log_file 

再看下面的位置是否一致?

s1.read_master_log_pos == s2.read_master_pos 

 

 

建议配置 为row格式+gtid

 
要求从库的IO_thread给主库一个Ack响应
对binlog日志传输的保障

 

 在金融环境: 如果使用半同步,就在设置中设置成,不允行从半同步切换到异步

 

PXC 是 同步复制原理的

 

 【冒泡】 A608-李魏良-成都(673529096)  21:45:27
MySQL 5.7 半同步增强,增加 rpl_semi_sync_master_wait_slave_count 参数控制主库接收多少个slave 写事务成功反馈 才返回 成功给客户端
【管理员】吴炳锡(82565387)  21:46:08
 rpl_semi_sync_master_wait_for_slave_count
默认是1 

 

 

技术分享

 

 

技术分享

 


mysqlbinlog + semi-sync 
row+gtid  

 

 

【管理员】吴炳锡(82565387)  22:21:36
master_log_file=‘mysql-bin.000100‘, master_log_pos=10000000
但是主库上还有一个: mysql-bin.000101 
【管理员】吴炳锡(82565387)  22:23:02
mysqlbinlog —start-position=10000000   mysql-bin.000100 |mysql -h s1 -P xxx -pxxxx -uxxxx
【活跃】A475-陈涛-苏州(20548079)  22:23:17
执行两次
【管理员】吴炳锡(82565387)  22:23:17
mysqlbinlog   mysql-bin.000101 |mysql -h s1 -P xxx -pxxxx -uxxxx
mysqlbinlog   mysql-bin.000101 mysql-bin.000102 |mysql -h s1 -P xxx -pxxxx -uxxxx 

 

 

 

技术分享

 

mysql-学习-10-20170531-复制类型的选择

标签:金融   mysq   nbsp   .com   insert   style   xxxx   second   ast   

原文地址:http://www.cnblogs.com/wanggl/p/6926227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!