位置: 编程技术 - 正文
推荐整理分享MySQL PXC构建一个新节点只需IST传输的方法(推荐),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
需求场景:原有的pxc环境数据量已经比较大,新买的服务器要加入此集群中,如何让其用IST的方式传输,而不是SST.
PXC传输数据有两种方式:
IST:Incremental State Transfer 增量同步SST:State Snapshot Transfer 全量同步
IST 发生的条件:This is done using caching mechanism on nodes (即只发生在之前集群里的节点数据还有在缓存中)
判断方法:
此值小于新开节点的seqno:
所以我们的思路即通过备份一个集群中节点的数据,恢复到新节点上,并伪造一个grastate.dat,来记录备份数据的seqno,这样当新节点启动时就会自动用IST的方法来进行,而不是SST(注意gcache.size应该有足够的容量来保证在备份及恢复这段时间内新产生的数据都被缓存到)
如下为这次的操作步骤:
node:..1. --已经存在的集群节点node:..1. --将要加入的集群节点
step1:启动新的集群中的第一个节点
/usr/local/pxc_/bin/mysqld_safe --defaults-file=/home/mysql/pxc.cnf --ledir=/usr/local/pxc_/bin/ --wsrep-new-cluster &
配置文件如下:
连接进去并创造更改一些数据:
step2:用innobackupex备份node数据:
step3:此时我们在node上再加入一些数据:
step4:将备份的数据传输到node上并恢复:
step5:找出Xid的位置
有两种方法
方法一:查看文件xtrabackup_galera_info
[root@zejin I]# cat xtrabackup_galera_info6cdc-f-e6--ae4d7eeed2:8
方法二:通过binlog位置来查找:
[root@zejin I]# cat xtrabackup_binlog_infolog_bin. 即备份时的备份点位置为log_bin.
我们再去主库查找此binlog对应的xid
[root@zejin I]# mysqlbinlog -vv log_bin. | grep Xid# 9:: server id end_log_pos CRC 0xb3e Xid = 7# :: server id end_log_pos CRC 0xf Xid = 9# :: server id end_log_pos CRC 0x8db2aa Xid =
发现竟然没有此位置的xid,原因在于我们在最上面更新mysql.user表了,而此表是myisam表,不会有Xid的记录,这种情况时我们根据上下位置把Xid设置为8
step6:在node上伪造一个grastate.dat文件(从node上复制过来,更改下seqno即可):
# GALERA saved stateversion: 2.1uuid: 6cdc-f-e6--ae4d7eeed2seqno: 8cert_index:
step7:启动新节点:
成功用IST来恢复了。
step8 登陆新节点node,查看数据是否正常:
发现数据也已经全部同步完成。
step9:对比SST时的日志输出:
可以看到里面有大量的removed操作,它会删除数据文件夹里面的所有文件,再从主节点那里通过SST获取数据官方说明:
至此我们完成了pxc环境下避免新节点加入时需要进行SST的方法,在数据量大时SST将会占用大量的资源,配置的gcache.size足够容纳从备份到恢复此时间段内主节点产生的数据量,建议通过业务低峰期时通过脚本来实现此新节点加入操作。
以上这篇MySQL PXC构建一个新节点只需IST传输的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
Mysql GTID Mha配置方法 Gtid+Mha+Binlogserver配置:1:测试环境OS:CentOS6.5Mysql:5.6.Mha:0...1.mysql1M..1.mysql2S..1.mysql3S2Mhamanage、Binlogserver2:配置/etc/my.cnf相关参
innodb_flush_method取值方法(实例讲解) innodb_flush_method的几个典型取值fsync:InnoDBusesthefsync()systemcalltoflushboththedataandlogfiles.fsyncisthedefaultsetting.O_DSYNC:InnoDBusesO_SYNCtoopenandflushthelogfiles,andfsync()toflushth
innodb_index_stats导入备份数据时报错表主键冲突的解决方法 故障描述percona5.6,mysqldump全备份,导入备份数据时报错Duplicateentry'hoc_log-item_log_-PRIMARY-n_diff_pfx'forkey'PRIMARY'故障原因查看了下这个主键应该是MySQL系
标签: MySQL PXC构建一个新节点只需IST传输的方法(推荐)
本文链接地址:https://www.jiuchutong.com/biancheng/349957.html 转载请保留说明!友情链接: 武汉网站建设