香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > MYSQL >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

MySQL主库binlog(master-log)与从库relay-log关系代码详解


时间:2020-11-03 13:32 作者:admin610456


主库binlog:

# at 2420#170809 17:16:20 server id 1882073306 end_log_pos 2451 CRC32 0x58f2db87  Xid = 32880COMMIT/*!*/;# at 2451#170814 11:07:18 server id 1882073306 end_log_pos 2528 CRC32 0x40774a4b  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680038/*!*/;BEGIN/*!*/;# at 2528# at 2560#170814 11:07:18 server id 1882073306 end_log_pos 2560 CRC32 0x7bdf274b  IntvarSET INSERT_ID=107/*!*/;#170814 11:07:18 server id 1882073306 end_log_pos 2669 CRC32 0x68e441c8  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680038/*!*/;insert into t2 (name) values ('a100')/*!*/;# at 2669# at 2701#170814 11:07:27 server id 1882073306 end_log_pos 2701 CRC32 0xcf89b910  IntvarSET INSERT_ID=108/*!*/;#170814 11:07:27 server id 1882073306 end_log_pos 2810 CRC32 0x78466d7b  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680047/*!*/;insert into t2 (name) values ('a200')/*!*/;# at 2810# at 2842#170814 11:07:30 server id 1882073306 end_log_pos 2842 CRC32 0x1e5a0847  IntvarSET INSERT_ID=109/*!*/;#170814 11:07:30 server id 1882073306 end_log_pos 2951 CRC32 0xebeb947c  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680050/*!*/;insert into t2 (name) values ('a300')/*!*/;# at 2951#170814 11:07:34 server id 1882073306 end_log_pos 2982 CRC32 0x6436ad60  Xid = 32934COMMIT/*!*/;

从库relay-log:

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!40019 SET @@session.max_insert_delayed_threads=0*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;DELIMITER /*!*/;# at 4#170809 17:17:24 server id 1882083306 end_log_pos 120 CRC32 0x5df4221c  Start: binlog v 4, server v 5.6.23-72.1-log created 170809 17:17:24# at 120#700101 8:00:00 server id 1882073306 end_log_pos 0 CRC32 0x0b8a412f Rotate to test-mysql/' target='_blank'>mysql-bin.000116 pos: 2451# at 172#170809 16:28:12 server id 1882073306 end_log_pos 0 CRC32 0xd0d3bf30 Start: binlog v 4, server v 5.6.23-72.1-log created 170809 16:28:12# at 288#170814 11:07:18 server id 1882073306 end_log_pos 2528 CRC32 0x40774a4b  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680038/*!*/;SET @@session.pseudo_thread_id=92/*!*/;SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;SET @@session.sql_mode=1073741824/*!*/;SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;/*!\C utf8 *//*!*/;SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;SET @@session.lc_time_names=0/*!*/;SET @@session.collation_database=DEFAULT/*!*/;BEGIN/*!*/;# at 365# at 397#170814 11:07:18 server id 1882073306 end_log_pos 2560 CRC32 0x7bdf274b  IntvarSET INSERT_ID=107/*!*/;#170814 11:07:18 server id 1882073306 end_log_pos 2669 CRC32 0x68e441c8  Query thread_id=92 exec_time=0 error_code=0use `db1`/*!*/;SET TIMESTAMP=1502680038/*!*/;insert into t2 (name) values ('a100')/*!*/;# at 506# at 538#170814 11:07:27 server id 1882073306 end_log_pos 2701 CRC32 0xcf89b910  IntvarSET INSERT_ID=108/*!*/;#170814 11:07:27 server id 1882073306 end_log_pos 2810 CRC32 0x78466d7b  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680047/*!*/;insert into t2 (name) values ('a200')/*!*/;# at 647# at 679#170814 11:07:30 server id 1882073306 end_log_pos 2842 CRC32 0x1e5a0847  IntvarSET INSERT_ID=109/*!*/;#170814 11:07:30 server id 1882073306 end_log_pos 2951 CRC32 0xebeb947c  Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680050/*!*/;insert into t2 (name) values ('a300')/*!*/;# at 788#170814 11:07:34 server id 1882073306 end_log_pos 2982 CRC32 0x6436ad60  Xid = 32934COMMIT/*!*/;

注意relay log的这一行:

#700101 8:00:00 server id 1882073306 end_log_pos 0 CRC32 0x0b8a412f Rotate to test-MySQL-bin.000116 pos: 2451

说明此relay log保存的是主库 test-mysql-bin.000116 的信息,从position 2451 开始。

看一个具体的对应关系:

主库的binlog如下:

# at 2560#170814 11:07:18 server id 1882073306 end_log_pos 2560 CRC32 0x7bdf274b IntvarSET INSERT_ID=107/*!*/;#170814 11:07:18 server id 1882073306 end_log_pos 2669 CRC32 0x68e441c8 Query thread_id=92 exec_time=0 error_code=0SET TIMESTAMP=1502680038/*!*/;insert into t2 (name) values ('a100')/*!*/;# at 2669

对应从库relay-log如下几行:

# at 397#170814 11:07:18 server id 1882073306 end_log_pos 2560 CRC32 0x7bdf274b  IntvarSET INSERT_ID=107/*!*/;#170814 11:07:18 server id 1882073306 end_log_pos 2669 CRC32 0x68e441c8  Query thread_id=92 exec_time=0 error_code=0use `db1`/*!*/;SET TIMESTAMP=1502680038/*!*/;insert into t2 (name) values ('a100')/*!*/;# at 506

另外注意show slave status\G的以下几行的关系:

Master_Log_File: test-mysql-bin.000117Read_Master_Log_Pos: 774

上面二行代表IO线程,相对于主库

Relay_Log_File: relay-log.000038Relay_Log_Pos: 723

上面二行代表了sql线程,相对于从库

Relay_Master_Log_File: test-mysql-bin.000117Exec_Master_Log_Pos: 555

上面二行代表了sql线程,相对主库

其中Relay_Log_Pos: 723 和 Exec_Master_Log_Pos: 555 对应的sql语句一致。

总结

以上就是本文关于MySQL主库binlog与从库relay-log关系代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:mysql中binlog_format模式与配置详细分析、几个比较重要的MySQL变量、MySQL prepare原理详解等,有什么问题可以随时留言,欢迎大家交流讨论。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)