天天看点

PXC新增节点

pxc节点新增或者脑裂无法启动mysql的节点恢复,可以通过pxc的SST机制从已有的运行节点中自动拉取全量备份,也可以利用IST机制,手动备份现有节点,恢复到新增或者脑裂无法启动mysql的节点。

SST就比较简单,将/mysql/data,/mysql/bin_log,/mysql/relay_log,/mysql/undotabs等下面的文件全部删除,然后service mysql start,就会自动从存活节点拉取全量数据,直至追上现有节点;

本文着重讲通过备份恢复,IST的方式恢复或者新增节点

1. 存活节点备份

nohup xtrabackup  --defaults-file=/etc/my.cnf --user=root --password=smart --parallel=4 --target-dir=/mysql/backup --backup --binlog-info=on --galera-info &

cd /mysql/backup

scp -r * pxc3:/mysql/backup

2. 新节点/mysql/data,/mysql/bin_log,/mysql/relay_log,/mysql/undotabs等下面的文件全部删

3. 新节点恢复数据

nohup xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/mysql/backup &

copy-back之前要保证/mysql/data为空,点开头的文件是隐藏文件或者隐藏目录也不能存在

nohup xtrabackup --defaults-file=/etc/my.cnf  --copy-back --target-dir=/mysql/backup &

4. 将新节点加入pxc集群

(1)如果是新节点加入,可在线修改wsrep_cluster_address,并按照现有节点配置好/etc/my.cnf

i. set global wsrep_cluster_address='gcomm://10.45.82.250,10.45.82.251,10.45.82.252';

ii: 再chown -R mysql.mysql /mysql

iii: touch /mysql/log/mysqld.log(此步要手动执行,否则有时报mysqld.log不存在的错)

IV: 按照恢复出来的xtrabackup_galera_info,创建grastate.dat

cat xtrabackup_galera_info

78aa7a2d-a389-11e7-93d3-9754c183f23b:9656750

[email protected][/mysql/data]#cat grastate.dat

# GALERA saved state

version: 2.1

uuid:    78aa7a2d-a389-11e7-93d3-9754c183f23b

seqno:   9656750

safe_to_bootstrap: 0

V: service mysql start

(2)如果旧节点恢复,

i: chown -R mysql.mysql /mysql

ii: touch /mysql/log/mysqld.log(此步要手动执行,否则有时报mysqld.log不存在的错)

iii: 按照恢复出来的xtrabackup_galera_info,创建grastate.dat

cat xtrabackup_galera_info

78aa7a2d-a389-11e7-93d3-9754c183f23b:9656750

[email protected][/mysql/data]#cat grastate.dat

# GALERA saved state

version: 2.1

uuid:    78aa7a2d-a389-11e7-93d3-9754c183f23b

seqno:   9656750

safe_to_bootstrap: 0

IV: service mysql start

5. 检查是否加入集群

PXC新增节点

继续阅读