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

mysql 单表原地恢复

2023-10-26 02:03:47
2
0

单表/多表 原地恢复

该场景是数据的原地恢复,用户需要恢复其中几个表,其他表不动。 恢复过程中哦,不需停服。

我们以用户需要恢复test.binlog_test_3,test.binlog_test_4为例子

  1. 按照物理恢复的流程恢复数据(全量+增量),  test目录下有4个文件,其中ibd, binlog_test_4.ibd 是我们需要的数据
  1. 创建表binlog_test_3, test2.binlog_test_4

表的schema 需要与物理恢复点时候一致,本例因为schema 没有修改,采用like创建表。注意这里是物理恢复时间点(全量物理备份 + 增加物理备份, 物理备份apply后,可以拉起一个mysqld实例,拿到schema的信息)

 

  1. 卸载新表表空间

卸载 test2.binlog_test_3, test2.binlog_test_4 表空间

  1. copy 物理恢复的表文件

把物理恢复的binlog_test_3.ibd,  binlog_test_4.ibd   copy到mysqld实例的data/test2 目录

 

  1. 挂载表空间

 

6. rename 表

test2.binlog_test_3  -->test.binlog_test_3_recovery

test2.binlog_test_4 --> test.binlog_test_4_recovery

用户检查过test.binlog_test_3_recovery, test.binlog_test_4_recovery后,rename 到test.binlog_test_3, test.binlog_test_4, 整个原地恢复场景完毕。

0条评论
作者已关闭评论
dev_top
4文章数
0粉丝数
dev_top
4 文章 | 0 粉丝
dev_top
4文章数
0粉丝数
dev_top
4 文章 | 0 粉丝
原创

mysql 单表原地恢复

2023-10-26 02:03:47
2
0

单表/多表 原地恢复

该场景是数据的原地恢复,用户需要恢复其中几个表,其他表不动。 恢复过程中哦,不需停服。

我们以用户需要恢复test.binlog_test_3,test.binlog_test_4为例子

  1. 按照物理恢复的流程恢复数据(全量+增量),  test目录下有4个文件,其中ibd, binlog_test_4.ibd 是我们需要的数据
  1. 创建表binlog_test_3, test2.binlog_test_4

表的schema 需要与物理恢复点时候一致,本例因为schema 没有修改,采用like创建表。注意这里是物理恢复时间点(全量物理备份 + 增加物理备份, 物理备份apply后,可以拉起一个mysqld实例,拿到schema的信息)

 

  1. 卸载新表表空间

卸载 test2.binlog_test_3, test2.binlog_test_4 表空间

  1. copy 物理恢复的表文件

把物理恢复的binlog_test_3.ibd,  binlog_test_4.ibd   copy到mysqld实例的data/test2 目录

 

  1. 挂载表空间

 

6. rename 表

test2.binlog_test_3  -->test.binlog_test_3_recovery

test2.binlog_test_4 --> test.binlog_test_4_recovery

用户检查过test.binlog_test_3_recovery, test.binlog_test_4_recovery后,rename 到test.binlog_test_3, test.binlog_test_4, 整个原地恢复场景完毕。

文章来自个人专栏
mysql-handle-for-you
4 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0