##gcahce事物不夠,藉助binlog追上node
宕機節點以單機集羣啓動,既本身做爲一個集羣啓動,不過UUID要和舊的集羣保持一致:mysql
[root@pxc_node0_172.16.11.127 ~]# mysqlbinlog -vv /data/database/pxc3306/pxc-3306-bin.0000015 | 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
[root@pxc_node0_172.16.11.127 ~]# mysqlbinlog -vv --skip-gtids=true --start-position=105205941 /data/database/pxc3306/pxc-3306-bin.0000015 > binlog.sql
這裏須要藉助--skip-gtids=true參數使解析出來的文件中就不包含「SET @@SESSION.GTID_NEXT=」,不然可能會binlog導入失效。sql
wsrep_cluster_address=gcomm://30.0.0.227,30.0.0.226,30.0.0.225
safe_to_bootstrap: 1
[root@pxc_node2_172.16.11.137 ~]#/usr/bin/mysqld_safe --defaults-file=/etc/pxc3306.cnf --wsrep-cluster-address="gcomm://" &
這時候是非主模式:shell
ERROR 1047 (08S01): WSREP has not yet prepared node for application use
(root@localhost) [(none)]> SET GLOBAL wsrep_provider_options='pc.bootstrap=true';
(root@localhost) [(none)]> source /data/backup/binlog.sql ;
這裏除了要導入binlog.sql ,還須要導入mysql-bin.0000015以後的binlog,讓故障節點儘量追近集羣bootstrap
[root@pxc_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=xxxvim