物理备份恢复至自建数据库

本文介绍了如何使用开源软件PerconaXtrabackup在Linux环境中恢复云数据库MySQL的备份文件到自建MySQL数据库,以及如何通过MySQL自带的mysqldump工具进行逻辑备份恢复。操作涉及解密、停止服务、清空数据目录、恢复数据等步骤,并强调了系统和软件版本的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作说明

开源软件Percona Xtrabackup可以用于对数据库进行备份恢复,您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中。
说明:由于软件限制(Percona Xtrabackup不支持Windows),目前只支持将云数据库MySQL的备份文件恢复到安装在Linux系统中的自建MySQL数据库中。

前提条件

  • 已下载MySQL全量物理备份文件到本地。
  • 操作系统中已安装数据恢复工具Percona XtraBackup,您可以从Percona XtraBackup官网下载安装。
  • MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见官方文档Percona XtraBackup 2.3
  • MySQL 5.7版本需要安装 Percona XtraBackup 2.4,安装指导请参见官方文档Percona XtraBackup 2.4
  • 自建MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。

操作步骤

以下操作以MySQL 5.7和默认数据目录/var/lib/mysql为例进行说明,MySQL 5.6版本启停服务改为mysql即可。

  1. 解密(解密部分暂时需要联系网宿云技术支持代为执行):
    openssl enc -d -aes-256-cbc -salt -pass pass:{密码} -in xxx.xbstream.gz.enc -out xxx.xbstream.gz,解密后得到xxx.xbstream.gz压缩文件。
  2. 将上述得到的备份压缩文件拷贝至需要恢复的数据库主机。
  3. 停止mysql服务:
    service mysqld stop
  4. 清空数据目录:
    rm -rf /var/lib/mysql/*
  5. 解压:
    gzip -d -c xxx.xbstream.gz | xbstream -x -v -C /var/lib/mysql
    说明:-C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。
  6. 恢复:
    sudo innobackupex --defaults-file=/var/lib/mysql/backup-my.cnf --apply-log --redo-only --ibbackup=xtrabackup /var/lib/mysql
  7. 修改权限为mysql:
    chown -R mysql:mysql /var/lib/mysql
  8. 启动mysql服务:
    service mysqld start

逻辑备份恢复至自建数据库

操作说明

使用MySQL自带的mysqldump工具可以通过逻辑备份文件恢复数据库。

前提条件

  • 已下载MySQL全量逻辑备份文件到本地。
  • 自建MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。

操作步骤

以下操作以MySQL 5.7和备份解压目录/root/logic_backup/为例进行说明。

  1. 解密(解密部分暂时需要联系网宿云技术支持代为执行):
    openssl enc -d -aes-256-cbc -salt -pass pass:{密码} -in logic-xxx.sql.gz.enc -out logic-xxx.sql.gz,解密后得到logic-xxx.sql.gz备份压缩文件。
  2. 将上述得到的备份压缩文件拷贝至需要恢复的数据库主机,这里拷贝到/root/logic_backup/目录下。
  3. 解压备份文件:
    gzip -d -c logic-xxx.sql.gz | sed ‘1i\SET SESSION sql_log_bin=OFF;’ > logic-xxx.sql
  4. 登录到mysql:
    mysql -u {username} -p {password}
  5. 导入数据:
    source /root/logic_backup/logic-xxx.sql
  6. 刷新系统权限:
    flush privileges
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值