searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

TeleDB for MySQL通过拷贝主库data目录来恢复数据库集群方法

2023-06-09 06:05:44
40
0

前提介绍:TeleDB for mysql中高可用涉及到的组件主要包块mysql、agent 、zookeeper、keeper,通过拷贝主库的方式来恢复数据库集群需要保证主库没有gtid的事物在继续写入,所以首先要先暂停业务,并且关闭集群的agent组件(agent会定时像数据库上报心跳-写入gtid事物),故恢复方法如下:

1、停掉业务,可以直接通过停掉keepalived,保证vip不对外提供服务;

2、 关闭待恢复从库的agent服务;

3、 进入待恢复从库数据库执行stop slave操作;

4、 关闭待恢复从库数据库;

5、 将待恢复从库的整个mysql_data目录mv成mysql_data.old

6、 关闭主库agent(防止心跳事物写入),即应当保持主库下面的这个值不再变化;

7、 将主库的mysql_data目录拷贝到从库;

8、 启动主库agent;

9、 去待恢复从库的data目录下面删除auto.cnf参数

10、启动待恢复从库数据库,启动时候带上skip-slave-start参数

/teledb/test0410/db7051//bin/mysqld_safe --defaults-file=/teledb/test0410/db7051/etc/mysql7051.cnf --skip-slave-start &

11、进入待恢复的从库,执行以下操作;

reset slave;reset slave all;

reset master;

set global gtid_purger=”eea*******1-12766”,也就是步骤6中的那个值;

12、开启从库agent,可以看到主从复制正常

0条评论
0 / 1000
z****n
18文章数
1粉丝数
z****n
18 文章 | 1 粉丝
原创

TeleDB for MySQL通过拷贝主库data目录来恢复数据库集群方法

2023-06-09 06:05:44
40
0

前提介绍:TeleDB for mysql中高可用涉及到的组件主要包块mysql、agent 、zookeeper、keeper,通过拷贝主库的方式来恢复数据库集群需要保证主库没有gtid的事物在继续写入,所以首先要先暂停业务,并且关闭集群的agent组件(agent会定时像数据库上报心跳-写入gtid事物),故恢复方法如下:

1、停掉业务,可以直接通过停掉keepalived,保证vip不对外提供服务;

2、 关闭待恢复从库的agent服务;

3、 进入待恢复从库数据库执行stop slave操作;

4、 关闭待恢复从库数据库;

5、 将待恢复从库的整个mysql_data目录mv成mysql_data.old

6、 关闭主库agent(防止心跳事物写入),即应当保持主库下面的这个值不再变化;

7、 将主库的mysql_data目录拷贝到从库;

8、 启动主库agent;

9、 去待恢复从库的data目录下面删除auto.cnf参数

10、启动待恢复从库数据库,启动时候带上skip-slave-start参数

/teledb/test0410/db7051//bin/mysqld_safe --defaults-file=/teledb/test0410/db7051/etc/mysql7051.cnf --skip-slave-start &

11、进入待恢复的从库,执行以下操作;

reset slave;reset slave all;

reset master;

set global gtid_purger=”eea*******1-12766”,也就是步骤6中的那个值;

12、开启从库agent,可以看到主从复制正常

文章来自个人专栏
数据库运维专项
18 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0