gcahce事物不够,借助binlog追上

Posted wshenJin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcahce事物不够,借助binlog追上相关的知识,希望对你有一定的参考价值。

gcahce事物不够,借助binlog追上

宕机节点以单机集群启动,既自己作为一个集群启动,不过UUID要和旧的集群保持一致:

修复grastate.dat 文件的方式这里略,直接通过wsrep_recovery即可
修复grastate.dat文件后,取其中的seqno(假设为737),然后借助seqno找到其他节点binlong的start-position:
[[email protected]_node0_172.16.11.127 ~]# mysqlbinlog -vv /data/database/pxc3306/pxc-3306-bin.00000* | grep -A5 "Xid = 737"
# 180420 20:17:16 server id 127  end_log_pos 2221492     Xid = 737     # 就是这个
COMMIT/*!*/;
# at 105205941
# 180424 14:41:01 server id 127  end_log_pos 105206002   GTID    last_committed=44702    sequence_number=44710   rbr_only=yes
导出binlog:
[[email protected]_node0_172.16.11.127 ~]# mysqlbinlog  -vv /data/database/pxc3306/pxc-3306-bin.00000* --start-datetime="2018-04-24 14:41:01" > binlog.sql 
注释掉配置文件中去掉下面的配置:
wsrep_cluster_address=gcomm://30.0.0.227,30.0.0.226,30.0.0.225
grastate.dat文件做如下修改:
safe_to_bootstrap: 1
启动:
[[email protected]_node2_172.16.11.137 ~]#/usr/bin/mysqld_safe --defaults-file=/etc/pxc3306.cnf   --wsrep-cluster-address="gcomm://"  & 

这时候是非主模式:

ERROR 1047 (08S01): WSREP has not yet prepared node for application use
解决非主模式:
([email protected]) [(none)]> SET GLOBAL wsrep_provider_options=‘pc.bootstrap=true‘;
导入binlog:
([email protected]) [(none)]> source /data/backup/sql ;
关闭该实例
重新配置grastate.dat
[[email protected]_node2_172.16.11.137 ~]# vim /data/database/pxc3306/grastate.dat 
# GALERA saved state
version: 2.1
uuid:    bf26341f-43cb-11e8-a863-62c0eb4d9e79
seqno:   737
safe_to_bootstrap: 0
重新配置配置文件:
wsrep_cluster_address=gcomm://30.0.0.227,30.0.0.226,30.0.0.225
重启加入集群即可

或者指定一个donor
--wsrep_sst_donor=xxx

以上是关于gcahce事物不够,借助binlog追上的主要内容,如果未能解决你的问题,请参考以下文章

MySQLbinlog日志03binlog日志字节码解析

binlog的三种模式

Java生成二进制文件与Postman以二进制流的形式发送请求

MySQLbinlog日志04binlog日志字节码解析之二Write_Rows事件

phpstorm线上代码同步(转)

打造云上代码交付链_CodePipeline实践分享