阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用XtraBackup将阿里云的MySQL5.7物理备份文件恢复到自建数据库中

1,218次阅读
没有评论

共计 3620 个字符,预计需要花费 10 分钟才能阅读完成。

最近有个任务是需要把阿里云 rds 数据库备份再转移到 ecs 服务器中,本篇文章是通过官方网站上再结合自己的操作笔记备忘。

RDS 数据库的版本是 myql5.7,ECS 服务器上的版本是 mysql5.7

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

一、备份前的准备

1.ECS 安装 mysql5.7

如果安装了,请忽略。

Centos7 系统下编译安装 Mysql5.7
# wget https://gitee.com/funet8/MYSQL/raw/master/Mysql_Shell/CentOS7_Install_mysql5_7.sh
# sh CentOS7_Install_mysql5_7.sh

2.ECS 安装 Percona XtraBackup

对于 MySQL 5.7、5.6 或 5.5 实例:安装Percona XtraBackup 2.4

对于 MySQL 8.0 实例,安装 Percona XtraBackup 8.0

我这边安装 Percona XtraBackup 2.4 参考网站https://docs.percona.com/percona-xtrabackup/2.4/installation/yum_repo.html

安装 percona-release 配置工具:
root 您可以通过以用户身份或使用 以下命令运行以下命令来安装 percona-release 的 yum 存储库
# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

测试存储库:
# yum list | grep percona

启用存储库:
如果 Percona XtraBackup 打算与上游 MySQL 服务器结合使用,您只需要启用 tools 存储库:
# percona-release enable-only tools

通过运行安装 Percona XtraBackup

# yum install -y percona-xtrabackup-24

# xtrabackup -version
xtrabackup: recognized server arguments: --datadir=/var/lib/mysql 
xtrabackup version 2.4.26 based on MySQL server 5.7.35 Linux (x86_64) (revision id: 19de43b)
Percona XtraBackup 安装成功。

3. 安装解压工具 qpress

wget"http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/183466/cn_zh/1608011575185/qpress-11-linux-x64.tar"
tar xvf qpress-11-linux-x64.tar
chmod 775 qpress
cp qpress /usr/bin

二、下载备份

进入 RDS 数据库 —> 实例列表 —> 备份恢复

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

复制内网地址,公网是需要收费的。

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

在 Linux 服务器上,执行如下命令下载物理备份。

# wget -c'http://...' -O test1_qp.xb

命令:
# wget -c 'http://rdsbak-st-v2.oss-cn-shenzhen-internal.aliyuncs.com/custins34273877/hins19034500_data_20221129104523_qp.xb?Expires=******************************************************&Region=cn-shenzhen' -O test1_qp.xb

# ll -h test1_qp.xb 
-rw-r--r-- 1 root root 8.7G Nov 29 10:48 test1_qp.xb

二、解压和恢复备份

1. 在 Linux 服务器上,创建一个目录(例如 /home/mysql/data)用于存放解压后的文件。

mkdir -p /home/mysql/data

2. 解压压缩包。根据压缩包的后缀选择解压命令。

## 先解包
cat test1_qp.xb | xbstream -x -v -C /home/mysql/data【已执行】

## 然后解压
### 对于 MySQL 5.6/5.7
innobackupex --decompress --remove-original /home/mysql/data【已执行】

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

说明 您可以把 test1 和 /home/mysql/data 替换为实际的文件名和路径。

3. 执行如下命令,查询解压后生成的文件。

ls -l /home/mysql/data

4. 执行如下命令,恢复解压好的备份文件。

## MySQL 5.6/5.7
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data【已执行】

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

1. 恢复时请耐心等待,若系统返回如下类似结果,则说明备份文件已成功恢复到自建数据库。

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

2. 若系统返回xtrabackup: Unknown error 3613,请将 Percona XtraBackup 更新到最新版本后再次尝试。

3. 若系统返回如下报错,可以用 rm -rf /var/lib/mysql 命令清空文件夹内文件,然后用 chown -R mysql:mysql /var/lib/mysql 修改权限。

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

4. 若系统返回如下报错,请参见 前提条件 中的第 2 项说明。

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

三、启动 MySQL

1. 为避免版本问题,需修改 backup-my.cnf 文件,具体操作步骤如下。

执行如下命令,以文本方式编辑 backup-my.cnf 文件。

# vi /home/mysql/data/backup-my.cnf
添加如下参数:lower_case_table_names=1
port = 61922
datadir=/home/mysql/data
        
注释掉如下自建数据库不支持的参数:#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_log_block_size
#innodb_doublewrite_file
#innodb_encrypt_algorithm
#rds_encrypt_data
#redo_log_version
#master_key_id
#server_uuid

说明 如果自建数据库使用的是 MyISAM 引擎,无法兼容阿里云的 InnoDB,则需要多注释掉如下参数并增加 skip-grant-tables 参数:

#innodb_log_checksum_algorithm=strict_crc32
#redo_log_version=1
skip-grant-tables

按 Esc 键,然后输入:wq 并回车进行保存。

2. 执行如下命令,修改文件属主,并确定文件所属为 MySQL 用户。

chown -R mysql:mysql /home/mysql/data

执行如下命令,启动 MySQL 进程。mysqld --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &

关闭本地的 mysql 否则会报错
[ERROR] Another process with pid 27300 is using unix socket file.


# netstat -tunpl|grep mysql
tcp6       0      0 :::61922                :::*                    LISTEN      9366/mysqld    
恢复成功。

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

root 密码问题:

  • 如果您的实例版本为 MySQL 5.5 或 5.6,需要重置 root 密码方可正常使用。更多信息,请参见 官方文档

  • 如果您的实例版本为 MySQL 5.7 或 8.0,则 root 密码即自建库的 root 密码。

  • 如果启动 MySQL 进程报错,可以尝试修改存储引擎。更多信息,请参见 常见问题

登录 MySQL 数据库以验证进程启动成功

mysql -u< 源 RDS 实例账号 > -p< 对应密码 >

# mysql -u< 源 RDS 实例账号 > -h127.0.0.1 -P 61922 -p< 对应密码 >

mysql -uxshd_mysql -h127.0.0.1 -P 61922 -p

进入数据库:

使用 XtraBackup 将阿里云的 MySQL5.7 物理备份文件恢复到自建数据库中

通过 binlog 日志恢复数据

1. 下载 binlog 日志

wget -c'URL 路径 ' -O /data/tmp/binlog/mysql-bin1

2. 导入数据库

mysqlbinlog  -d 指定数据库
mysql -f 忽略报错,强制导入
mysqlbinlog  -d '指定数据库'  /data/tmp/binlog/mysql-bin1 | mysql -u root -P61922 -f

参考文档

官方帮助文档:阿里云 -RDS MySQL 物理备份文件恢复到自建数据库 https://help.aliyun.com/knowledge_detail/41817.html

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-01发表,共计3620字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
8002082
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...