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

从对象存储上拉去备份数据恢复MySQL到备份时间点

2023-10-30 02:18:05
47
0

注意:此步骤只适应于基于备份文件恢复MySQL主从

一、恢复主库

1、用xbcloud获取S3上的备份文件

#下载全量备份

xbcloud get --storage=s3 --s3-endpoint='XXXXXXX' --s3-access-key='XXXXXX' --s3-secret-key='XXXXXX' --s3-bucket='backup-common' --parallel=4 --insecure --s3-bucket-lookup=PATH 20220701/XXXXXXX_3306/full_2022-07-01_01-20-01 2>/data/backup/download.log | xbstream -x -C /data/mysql3306/backuptmp/full_2022-07-01_01-20-01 --parallel=4

#下载增量备份(如有,有几次增量备份,就下载几次)

xbcloud get --storage=s3 --s3-endpoint='XXXXXXX' --s3-access-key='XXXXXX' --s3-secret-key='XXXXXXXX' --s3-bucket='backup-common' --parallel=4 --insecure --s3-bucket-lookup=PATH 20220701/ XXXXXXX_3306/inc_2022-07-02_01-20-01 2>/data/backup/download.log | xbstream -x -C /data/mysql3306/backuptmp/inc_2022-07-02_01-20-01 --parallel=4

参数说明:

--s3-endpoint:S3地址

--s3-access-key:S3 Access key/用户名

--s3-secret-key:S3 Secret key/密码

--s3-bucket:S3 存储桶

20220701/ XXXXXXX_3306/full_2022-07-01_01-20-01:拉取S3上备份文件路径

/data/backup/download.log :拉取文件产生的日志

/data/mysql3306/backuptmp/full_2022-07-01_01-20-01:拉取到本地服务器的存储路径

 

2、准备下载的备份文件

#准备下载的完整备份(如无增量备份,去掉 --apply-log-only)

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --user=root --password='XXXXX' --prepare --apply-log-only --target-dir=/data/mysql3306/backuptmp/full_2022-07-01_01-20-01

#准备增量备份(有几次增量备份就准备几次)

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --user=root --password='XXXXXX' --prepare --apply-log-only --target-dir=/data/mysql3306/backuptmp/full_2022-07-01_01-20-01 --incremental-dir=/data/mysql3306/backuptmp/inc_2022-07-02_01-20-01

。。。

(注意:最后一个增量合并可以不用--apply-log-only参数,这样就不需要下一步的准备全量备份了)

#准备增量备份可以都加--apply-log-only,最后在准备一次全量即可

#注意,这里没有--apply-log-only参数

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --user=root --password='XXXXXX' --prepare  --target-dir=/data/mysql3306/backuptmp/full_2022-07-01_01-20-01

#参数说明

--defaults-file:待恢复MySQL实例配置文件

--user:MySQL实例用户

--password:MySQL实例用户密码

--apply-log-only:prepare时,只执行redo,不回滚事务日志,用于增量备份()

--target-dir:下载的全量文件路径

--incremental-dir:下载的增量备份文件路径

 

3、恢复MySQL实例(主库)

# --copy-back或者--move-back(空间充足用--copy-back,备份文件可以重复使用)

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --copy-back --user=root --password='XXXXXX' --target-dir=/data/mysql3306/backuptmp

 

4、连接恢复好的数据库

#执行reset master,清理掉gtid(注意,此操作只适应于基于备份文件恢复MySQL主从)

 

二、恢复从库

1)把主库上prepare好的备份文件scp到从库

可以直接scp到从库的数据目录

scp -r /data/mysql3306/backuptmp/full_2022-07-01_01-20-01 apps@x.x.x.x:/data/mysql3306/mysqldata_3306/data

2)启动从库实例

$ /data/mysql3306/mysql57/bin/mysqld_safe --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf&

3)连接从MySQL,主从配置

reset master;

reset slave all;

change master to master_host='XXXXX',master_port=3306,master_user='repl',master_password='XXXXXXX',master_auto_position=1;

start slave;

show slave status\G

4)启动xenon(先启动主库,再启动从库的)

$ cd /data/mysql3306/xenon

$ bin/xenon -c /data/mysql3306/xenon/conf/xenon.json >> /data/mysql3306/xenon/log/xenon.log 2>&1 &

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

从对象存储上拉去备份数据恢复MySQL到备份时间点

2023-10-30 02:18:05
47
0

注意:此步骤只适应于基于备份文件恢复MySQL主从

一、恢复主库

1、用xbcloud获取S3上的备份文件

#下载全量备份

xbcloud get --storage=s3 --s3-endpoint='XXXXXXX' --s3-access-key='XXXXXX' --s3-secret-key='XXXXXX' --s3-bucket='backup-common' --parallel=4 --insecure --s3-bucket-lookup=PATH 20220701/XXXXXXX_3306/full_2022-07-01_01-20-01 2>/data/backup/download.log | xbstream -x -C /data/mysql3306/backuptmp/full_2022-07-01_01-20-01 --parallel=4

#下载增量备份(如有,有几次增量备份,就下载几次)

xbcloud get --storage=s3 --s3-endpoint='XXXXXXX' --s3-access-key='XXXXXX' --s3-secret-key='XXXXXXXX' --s3-bucket='backup-common' --parallel=4 --insecure --s3-bucket-lookup=PATH 20220701/ XXXXXXX_3306/inc_2022-07-02_01-20-01 2>/data/backup/download.log | xbstream -x -C /data/mysql3306/backuptmp/inc_2022-07-02_01-20-01 --parallel=4

参数说明:

--s3-endpoint:S3地址

--s3-access-key:S3 Access key/用户名

--s3-secret-key:S3 Secret key/密码

--s3-bucket:S3 存储桶

20220701/ XXXXXXX_3306/full_2022-07-01_01-20-01:拉取S3上备份文件路径

/data/backup/download.log :拉取文件产生的日志

/data/mysql3306/backuptmp/full_2022-07-01_01-20-01:拉取到本地服务器的存储路径

 

2、准备下载的备份文件

#准备下载的完整备份(如无增量备份,去掉 --apply-log-only)

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --user=root --password='XXXXX' --prepare --apply-log-only --target-dir=/data/mysql3306/backuptmp/full_2022-07-01_01-20-01

#准备增量备份(有几次增量备份就准备几次)

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --user=root --password='XXXXXX' --prepare --apply-log-only --target-dir=/data/mysql3306/backuptmp/full_2022-07-01_01-20-01 --incremental-dir=/data/mysql3306/backuptmp/inc_2022-07-02_01-20-01

。。。

(注意:最后一个增量合并可以不用--apply-log-only参数,这样就不需要下一步的准备全量备份了)

#准备增量备份可以都加--apply-log-only,最后在准备一次全量即可

#注意,这里没有--apply-log-only参数

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --user=root --password='XXXXXX' --prepare  --target-dir=/data/mysql3306/backuptmp/full_2022-07-01_01-20-01

#参数说明

--defaults-file:待恢复MySQL实例配置文件

--user:MySQL实例用户

--password:MySQL实例用户密码

--apply-log-only:prepare时,只执行redo,不回滚事务日志,用于增量备份()

--target-dir:下载的全量文件路径

--incremental-dir:下载的增量备份文件路径

 

3、恢复MySQL实例(主库)

# --copy-back或者--move-back(空间充足用--copy-back,备份文件可以重复使用)

xtrabackup --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf --copy-back --user=root --password='XXXXXX' --target-dir=/data/mysql3306/backuptmp

 

4、连接恢复好的数据库

#执行reset master,清理掉gtid(注意,此操作只适应于基于备份文件恢复MySQL主从)

 

二、恢复从库

1)把主库上prepare好的备份文件scp到从库

可以直接scp到从库的数据目录

scp -r /data/mysql3306/backuptmp/full_2022-07-01_01-20-01 apps@x.x.x.x:/data/mysql3306/mysqldata_3306/data

2)启动从库实例

$ /data/mysql3306/mysql57/bin/mysqld_safe --defaults-file=/data/mysql3306/mysql57/mysql3306.cnf&

3)连接从MySQL,主从配置

reset master;

reset slave all;

change master to master_host='XXXXX',master_port=3306,master_user='repl',master_password='XXXXXXX',master_auto_position=1;

start slave;

show slave status\G

4)启动xenon(先启动主库,再启动从库的)

$ cd /data/mysql3306/xenon

$ bin/xenon -c /data/mysql3306/xenon/conf/xenon.json >> /data/mysql3306/xenon/log/xenon.log 2>&1 &

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0