本章节主要介绍的是恢复在华为云RDS中进行全量备份的数据库文件,在本地mysql数据库恢复的操作。
首先要在本地准备一台跟华为云RDS中,mysql版本一致或差不多的版本。
安装前准备工作
1、下载全量备份的文件
将目标数据的的全量备份的文件,下载到本地。适合备份数据文件比较小的操作方式。
或者可以直接执行wget 直接在服务器中进行下载。
执行mysql -V 查看,以mysql 5.7.28为例。
因为我华为云使用的是mysql 5.7.38 版本的,与本地版本相差不大,故以此为例。
2、安装依赖插件
在进行数据库恢复的时候需要用到 qpress、percona-xtrabackup 这个两个插件。
qpress可以用于在命令行下对文件或目录进行快速的压缩和解压缩操作
percona-xtrabackup mysql数据库恢复工具
qpress
rpm包下载命令:wget https://repo.percona.com/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm:
安装:rpm -ivh qpress-11-1.el7.x86_64.rpm

percona-xtrabackup
安装:rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm --nodeps --force

创建一个文件夹用来解压备份的文件。例:mkdir backupdir

恢复
将下载的全量备份包,解压到刚刚创建的backupdir文件夹中
#MySQL 5.6、5.7
xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/
#使用xbstream解压命令,将备份的文件解压到backupdir文件夹中
innobackupex --parallel 4 --decompress ./backupdir
#使用innobackupex工具来备份MySQL或MariaDB数据库,并且指定并行度为4,同时如果备份中有需要解压缩的文件,则进行解压缩处理。
#MySQL 8.0
xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/
xtrabackup --parallel 4 --decompress --target-dir=./backupdir

find ./backupdir/ -name '*.qp' | xargs rm -f
应用redo日志
#MySQL 5.6、5.7
innobackupex --apply-log ./backupdir
#MySQL 8.0
xtrabackup --prepare --target-dir=./backupdir

关闭数据库
service mysqld stop
或者
/bin/systemctl stop mysqld.service

备份原来的数据库目录。
mv /usr/local/mysql/data /usr/local/mysql/data_bak
mkdir /usr/local/mysql/data
若为测试库则可直接删除,新建一个data
\rm -irf data*
mkdir data
创建新的数据库目录并修改目录权限。
chown mysql:mysql /usr/local/mysql/data #若在data目录则可前面不用跟路径
恢复数据到自建库,并修改目录权限。执行该步骤前,需要清空自建库的“data”目录
#MySQL 5.6、5.7
innobackupex --defaults-file=/etc/my.cnf --copy-back ./backupdir
chown -R mysql:mysql /usr/local/mysql/data
#MySQL 8.0
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=./backupdir
chown -R mysql:mysql /usr/local/mysql/data
- 命令中的相对路径(./backupdir)可替换成绝对路径。
- “--defaults-file”为MySQL配置文件位置,您可以根据实际情况进行修改。

启动数据库。
/bin/systemctl start mysqld.service
或者
service mysql start
以上备份的数据库即可恢复成功
输入原来数据库的账号密码即可登录进入

以上为恢复数据库的全部内容。
1972

被折叠的 条评论
为什么被折叠?



