使用物理备份恢复数据库

转载自
https://cloud.tencent.com/document/product/236/33363
https://blog.csdn.net/A___LEi/article/details/127661509

XtraBackup官方下载地址: https://www.percona.com/downloads

也可以选择yum安装

#MySQL 5.6、5.7 选择 Percona XtraBackup 2.4.6 及以上的版本
[root@centos7 ~]# yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
[root@centos7 ~]# yum -y  install percona-xtrabackup-24  
[root@centos7 ~]# yum -y  install qpress  

为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压缩与打包。

开源软件 Percona Xtrabackup 可以用于对数据库进行备份恢复,本文为您介绍使用 XtraBackup 工具,将 MySQL 物理备份文件恢复至其他主机上的自建数据库。

XtraBackup 只支持 Linux 平台,不支持 Windows 平台。
Windows 平台恢复数据请参考 命令行工具迁移数据。

前提条件
下载并安装 XtraBackup 工具。(具体详细版本选择可以参考:https://www.percona.com/downloads
MySQL 5.6、5.7 请选择 Percona XtraBackup 2.4.6 及以上的版本,下载地址,安装介绍请参见 Percona XtraBackup 2.4 指引。(官方文档https://docs.percona.com/percona-xtrabackup/2.4/installation/yum_repo.html#

二进制压缩包安装示例:
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.27/binary/tarball/percona-xtrabackup-2.4.27-Linux-x86_64.glibc2.12.tar.gz

tar xvf percona-xtrabackup-2.4.27-Linux-x86_64.glibc2.12.tar.gz


MySQL 8.0 请选择 Percona XtraBackup 8.0.22-15 及以上版本,下载地址,安装介绍请参见 Percona XtraBackup 8.0 指引。(官方文档:https://docs.percona.com/percona-xtrabackup/8.0/#)(pxb版本与mysql版本比较:https://docs.percona.com/percona-xtrabackup/8.0/server-backup-version-comparison.html

二进制压缩包安装示例:
wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.34-29/binary/tarball/percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17.tar.gz

tar xvf percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17.tar.gz

支持的实例版本:MySQL 双节点、三节点。
开启透明数据加密(TDE)功能的实例,不支持使用物理备份恢复数据库。

步骤1:下载备份文件
您可通过控制台下载云数据库 MySQL 的数据备份、日志备份。

说明:
默认每个 IP 限制10个链接,每个链接下载速度可达20Mpbs - 30Mpbs。

登录 MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
在实例管理页面,选择备份恢复 > 数据备份列表页, 选择需要下载的备份,在操作列单击下载。
在弹出的对话框,推荐您复制下载地址,并 登录到云数据库所在 VPC 下的 CVM(Linux 系统) 中,运用 wget 命令进行内网高速下载,更高效。
说明:
您也可以选择本地下载直接下载,但耗时较多。
(加-c参数,这样可以断点续传,如果12小时没下载完,可以获取个新链接,接着续传下载)
wget 命令格式:wget -c ‘备份文件下载地址’ -O 自定义文件名.xb
示例如下:
wget -c ‘https://mysql-database-backup-sh-1218.cos.ap-nanjing.myqcloud.com/12427%2Fmysql%2F0674-ffba-11e9-b592-70bd%2Fdata%2Fautomatic-delete%2F2019-12-03%2Fautomatic%2Fxtrabackup%2Fbk_61_156758150%2Fcdb-293fl9ya_backup_20191203000202.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKzxfbLJ1%26q-sign-time%3D1575374119%3B1575417319%26q-key-time%3D1575374119%3B1575417319%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dba959757&response-content-disposition=attachment%3Bfilename%3D%22yuan177685_backup_20191203000202.xb%22&response-content-type=application%2Foctet-stream’ -O /data/mysql/test.xb
步骤2:下载备份解密密钥(开启了备份加密功能才需操作此步骤)
您可通过控制台下载云数据库 MySQL 的数据备份解密密钥。

说明:
每个数据库备份的解密密钥独立生成,如开启了备份加密功能,下载备份文件时需要连同解密密钥一并下载保留。

登录 MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
在实例管理页面,选择备份恢复 > 数据备份列表页, 选择需要下载的备份对应的解密密钥,在操作列单击下载密钥。

在弹出的对话框,选择需要保存密钥的文件路径,单击下载。

步骤3:恢复数据
3.1 解包备份文件
使用 xbstream 命令将备份文件解包到目标目录。

xbstream -x --decrypt=AES256 --encrypt-key-file=<备份密钥文件> --parallel=2 -C /data/mysql < /data/test.xb
说明:
未开启备份加密时,解包备份文件命令为:xbstream -x -C /data/mysql/3306 < /data/test.xb。
本文目标目录以 /data/mysql/3306 为数据文件恢复存储,您可根据实际情况替换为实际路径。
/data/test.xb 替换为您的备份文件。
解包结果如下图所示:

3.2 解压备份文件
通过如下命令下载 qpress 工具。
wget -d --user-agent=“Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0” https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
说明:
若 wget 下载提示错误,您可单击 下载 qpress 工具 下载到本地后,再将 qpress 工具上传至 Linux 云服务器,请参见 通过 SCP 上传文件到 Linux 云服务器。

通过如下命令解压出 qpress 二进制文件。
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
使用如下命令将目标目录下所有以.qp结尾的文件都解压出来。
xtrabackup --decompress --target-dir=/data/mysql/3306
说明:
/data/mysql 为之前存储备份文件的目标目录 ,您可根据实际情况替换为实际路径。
Percona Xtrabackup 在2.4.6及以上版本中才支持 --remove-original 选项。
xtrabackup 默认在解压缩时不删除原始的压缩文件,若需解压完删除原始的压缩文件,可在上面的命令中加上 --remove-original 参数(xtrabackup --decompress --remove-original --target-dir=/data/mysql/3306)。
decompress.png
230801 10:54:11 [01] decompressing .xx.qp
230801 10:54:11 [01] removing .xx.qp
230801 10:54:11 [01] decompressing .xx.qp
230801 10:54:11 [01] removing .xx.qp
completed OK!

3.3 Prepare 备份文件
备份解压出来之后,执行如下命令进行 apply log 操作。

xtrabackup --prepare --target-dir=/data/mysql/3306
执行后若结果中包含如下输出,则表示 prepare 成功。

InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 5104032567887
230801 10:56:11 completed OK!

3.4 修改配置文件(我直接没用这个配置文件,用的是主从复制的那个配置文件 ,主从复制是这篇文章 https://blog.csdn.net/qq_44821149/article/details/130994101

执行如下命令打开 backup-my.cnf 文件。

vi /data/mysql/3306/backup-my.cnf
说明:
本文以目标目录 /data/mysql/3306 为例,您可以根据实际情况将其替换成实际路径。

由于存在的版本问题,请将解压文件 backup-my.cnf 中如下参数进行注释。

innodb_checksum_algorithm
innodb_log_checksum_algorithm
innodb_fast_checksum
innodb_page_size
innodb_log_block_size
redo_log_version

3.5 修改文件属性
修改文件属性,并检查文件所属为 mysql 用户。

chown -R mysql:mysql /data/mysql/3306

步骤4:启动 mysqld 进程并登录验证
启动 mysqld 进程。(我用的这个 mysqld_safe --defaults-file=/data/mysql/3306/my.cnf 2>&1 > /dev/null &
mysqld_safe --defaults-file=/data/mysql/3306/backup-my.cnf --user=mysql --datadir=/data/mysql/3306 &

客户端登录 mysql 验证。(我用的这个 mysql -uroot -p -S /data/mysql/3306/mysql_3306.sock
mysql -uroot


转载自:https://cloud.tencent.com/document/product/236/33364

使用逻辑备份恢复数据库

步骤1:下载备份文件
步骤2:解包备份文件
步骤3:解压备份文件
步骤4:导入备份至目标数据库
操作场景
说明
为节约存储空间,云数据库 MySQL 的物理备份和逻辑备份文件,都会先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具)进行压缩与打包。
云数据库 MySQL 支持 逻辑备份 方式,用户可通过控制台手动备份来生成逻辑备份文件,并下载获取整个实例/部分库表的逻辑备份文件,本文为您介绍如何使用逻辑备份文件进行手动还原。
本文介绍的恢复方式仅适用于 Linux 平台,暂不支持 Windows 平台。
Windows 平台恢复数据请参考 命令行工具迁移数据。
支持的实例版本:MySQL 双节点、三节点。
操作步骤
步骤1:下载备份文件
登录 MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
在实例管理页面,选择备份恢复 > 数据备份列表页, 选择需要下载的备份,在操作列单击下载。
在弹出的对话框,推荐您复制下载地址,并 登录到云数据库所在 VPC 下的 CVM(Linux 系统)中,运用 wget 命令进行内网高速下载,更高效。
说明
您也可以选择本地下载直接下载,但耗时较多。
wget 命令格式:wget -c ‘备份文件下载地址’ -O 自定义文件名.xb
示例如下:
wget -c ‘https://mysql-database-backup-bj-118.cos.ap-beijing.myqcloud.com/12427%2Fmysql%2F42d-11ea-b887-6c0b82b%2Fdata%2Fautomatic-delete%2F2019-11-28%2Fautomatic%2Fxtrabackup%2Fbk_204_10385%2Fcdb-1pe7bexs_backup_20191128044644.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3D1%26q-sign-time%3D1574269%3B1575417469%26q-key-time%3D1575374269%3B1517469%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dfb8fad13c4ed&response-content-disposition=attachment%3Bfilename%3D%2141731_backup_20191128044644.xb%22&response-content-type=application%2Foctet-stream’ -O test0.xb
步骤2:解包备份文件
使用 xbstream 解包备份文件。
说明
xbstream 工具下载地址请参见 Percona XtraBackup 官网,请选择 Percona XtraBackup 2.4.6 及以上的版本,安装介绍请参见 Percona XtraBackup 2.4。
xbstream -x < test0.xb
说明
test0.xb替换为您的备份文件。
解包结果如下图所示:

步骤3:解压备份文件
通过如下命令下载 qpress 工具。
wget -d --user-agent=“Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0” https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
说明
若 wget 下载提示错误,您可单击 下载 qpress 工具 下载到本地后,再将 qpress 工具上传至 Linux 云服务器,请参见 通过 SCP 上传文件到 Linux 云服务器。
通过如下命令解出 qpress 二进制文件。
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
使用 qpress 解压备份文件。
qpress -d cdb-jp0zua5k_backup_20191202182218.sql.qp .
说明
请根据解压时间,找到.sql.qp后缀的备份文件,并将cdb-jp0zua5k_backup_20191202182218替换为该文件名。
解压结果如下图所示:

步骤4:导入备份至目标数据库
执行如下命令导入 sql 文件至目标数据库:
mysql -uroot -P3306 -h127.0.0.1 -p < cdb-jp0zua5k_backup_20191202182218.sql
说明
本文以导入本地3306端口的 MySQL 为例,您可根据实际情况替换。
cdb-jp0zua5k_backup_20191202182218.sql替换为通过 qpress 实际解压出的 sql 文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值