欢迎关注我的《深入理解MySQL主从原理 32讲 》,如下:
创新互联公司2013年开创至今,先为比如等服务建站,比如等地企业,进行企业商务咨询服务。为比如企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
如果图片不能显示可查看下面链接:
https://www.jianshu.com/p/d636215d767f
主库 生成GTID: 这下面可以调用匿名+1
(gdb) bt
#0 Gtid_state::generate_automatic_gtid (this=0x308ab20, thd=0x7ffe7c000b70, specified_sidno=0, specified_gno=0, locked_sidno=0x7fffec0f38c0)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/rpl_gtid_state.cc:507
#1 0x0000000001877a61 in MYSQL_BIN_LOG::assign_automatic_gtids_to_flush_group (this=0x2e87840, first_seen=0x7ffe7c000b70)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:1401
#2 0x000000000188a19c in MYSQL_BIN_LOG::process_flush_stage_queue (this=0x2e87840, total_bytes_var=0x7fffec0f3a08, rotate_var=0x7fffec0f3a07,
out_queue_var=0x7fffec0f39f8) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:9143
#3 0x000000000188b743 in MYSQL_BIN_LOG::ordered_commit (this=0x2e87840, thd=0x7ffe7c000b70, all=false, skip_commit=false)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:9782
#4 0x0000000001889e22 in MYSQL_BIN_LOG::commit (this=0x2e87840, thd=0x7ffe7c000b70, all=false) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:9033
#5 0x0000000000f802eb in ha_commit_trans (thd=0x7ffe7c000b70, all=false, ignore_global_read_lock=false)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/handler.cc:1830
#6 0x00000000016dd5b9 in trans_commit_stmt (thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/transaction.cc:458
#7 0x00000000015d19d1 in mysql_execute_command (thd=0x7ffe7c000b70, first_level=true) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:5293
#8 0x00000000015d30c6 in mysql_parse (thd=0x7ffe7c000b70, parser_state=0x7fffec0f6600) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:5901
#9 0x00000000015c6c5a in dispatch_command (thd=0x7ffe7c000b70, com_data=0x7fffec0f6d70, command=COM_QUERY)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:1490
#10 0x00000000015c59e7 in do_command (thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:1021
#11 0x000000000170e660 in handle_connection (arg=0x34a9940) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/conn_handler/connection_handler_per_thread.cc:312
#12 0x0000000001945620 in pfs_spawn_thread (arg=0x66eee50) at /root/mysqlall/percona-server-locks-detail-5.7.22/storage/perfschema/pfs.cc:2190
#13 0x00007ffff7bc6aa1 in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff6719bcd in clone () from /lib64/libc.so.6
主库在COMMIT节点 匿名-1
#0 Gtid_state::update_commit_group (this=0x308ab20, first_thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/rpl_gtid_state.cc:148
#1 0x000000000188a59f in MYSQL_BIN_LOG::process_commit_stage_queue (this=0x2e87840, thd=0x7ffe7c000b70, first=0x7ffe7c000b70)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:9238
#2 0x000000000188bd46 in MYSQL_BIN_LOG::ordered_commit (this=0x2e87840, thd=0x7ffe7c000b70, all=false, skip_commit=false)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:9921
#3 0x0000000001889e22 in MYSQL_BIN_LOG::commit (this=0x2e87840, thd=0x7ffe7c000b70, all=false) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/binlog.cc:9033
#4 0x0000000000f802eb in ha_commit_trans (thd=0x7ffe7c000b70, all=false, ignore_global_read_lock=false)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/handler.cc:1830
#5 0x00000000016dd5b9 in trans_commit_stmt (thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/transaction.cc:458
#6 0x00000000015d19d1 in mysql_execute_command (thd=0x7ffe7c000b70, first_level=true) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:5293
#7 0x00000000015d30c6 in mysql_parse (thd=0x7ffe7c000b70, parser_state=0x7fffec0f6600) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:5901
#8 0x00000000015c6c5a in dispatch_command (thd=0x7ffe7c000b70, com_data=0x7fffec0f6d70, command=COM_QUERY)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:1490
#9 0x00000000015c59e7 in do_command (thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:1021
#10 0x000000000170e660 in handle_connection (arg=0x34a9940) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/conn_handler/connection_handler_per_thread.cc:312
#11 0x0000000001945620 in pfs_spawn_thread (arg=0x66eee50) at /root/mysqlall/percona-server-locks-detail-5.7.22/storage/perfschema/pfs.cc:2190
#12 0x00007ffff7bc6aa1 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff6719bcd in clone () from /lib64/libc.so.6
从库 GTID_APPLY的时候 调用
Gtid_log_event::do_apply_event - > set_gtid_next 匿名+1
从库是调用Gtid_state::update_gtids_impl 匿名-1
Xid_log_event::do_commit - >MYSQL_BIN_LOG::gtid_end_transaction -> update_on_commit->update_gtids_impl
清理了所有的replay log
#0 Relay_log_info::purge_relay_logs (this=0x67618a0, thd=0x7ffe7c000b70, just_reset=false, errmsg=0x7fffec0f4b80, delete_only=false)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/rpl_rli.cc:1239
#1 0x00000000018cd130 in change_master (thd=0x7ffe7c000b70, mi=0x6670230, lex_mi=0x7ffe7c0037e0, preserve_logs=false)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/rpl_slave.cc:11337
#2 0x00000000018cdcac in change_master_cmd (thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/rpl_slave.cc:11688
#3 0x00000000015cabc5 in mysql_execute_command (thd=0x7ffe7c000b70, first_level=true) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:3125
#4 0x00000000015d30c6 in mysql_parse (thd=0x7ffe7c000b70, parser_state=0x7fffec0f6600) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:5901
#5 0x00000000015c6c5a in dispatch_command (thd=0x7ffe7c000b70, com_data=0x7fffec0f6d70, command=COM_QUERY)
at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:1490
#6 0x00000000015c59e7 in do_command (thd=0x7ffe7c000b70) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/sql_parse.cc:1021
#7 0x000000000170e660 in handle_connection (arg=0x5f72350) at /root/mysqlall/percona-server-locks-detail-5.7.22/sql/conn_handler/connection_handler_per_thread.cc:312
#8 0x0000000001945620 in pfs_spawn_thread (arg=0x67cfa60) at /root/mysqlall/percona-server-locks-detail-5.7.22/storage/perfschema/pfs.cc:2190
#9 0x00007ffff7bc6aa1 in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff6719bcd in clone () from /lib64/libc.so.6