100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > RDS for MySQL 物理备份文件恢复到本地数据库(亲测)

RDS for MySQL 物理备份文件恢复到本地数据库(亲测)

时间:2023-04-17 14:50:17

相关推荐

RDS for MySQL 物理备份文件恢复到本地数据库(亲测)

参考以下两篇文档整理:

(文档1)/knowledge_detail/41817.html?spm=a2c4g.11186631.2.1.434247acfAIAwY

(文档2)/articles/688509

以下为自己整理过程:

(该出是复制文档1中的原文:)

开源软件Percona Xtrabackup可以用于对数据库进行备份恢复,您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤。

1、注意事项

本文使用Linux7的操作系统以及MySQL5.7版本为例进行演示。

操作系统中已安装数据恢复工具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 8.0版本需要安装 Percona XtraBackup 8.0,安装指导请参见官方文档Percona XtraBackup 8.0。

2月20日后创建的MySQL 5.6实例,数据备份文件的格式为xbstream文件包 (_qp.xb 后缀)。

本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。

2、从RDS for MySQL备份文件到本地不走请参考“文档1”(/knowledge_detail/41817.html?spm=a2c4g.11186631.2.1.434247acfAIAwY)的“备份恢复操作步骤”

3、“文档1”中第“11”步骤中的“说明 本文以自定义路径/home/mysql/data为例,您可以根据实际情况将其替换成实际路径”,其中“/home/mysql/data”并不是数据库的“数据库目录”,一开始我按照文档理解以为是数据库目录,解压到之类导致mysql不能启动了,在这里耽误了不少时间,而是一个自定义的普通的目录而已,比如“/home/mydir”

4、第14步很重要,不能少 ,并且要放到第13步前面

5、“文档1”中第“13”步骤中的“innobackupex --defaults-file=/home/mysql/data/backup-f --apply-log /home/mysql/data”,可以改为第3步中的路径,比如我改为了“innobackupex --defaults-file=/home/mydir/backup-f --apply-log /home/mydir”,也就是把从阿里云下载的压缩包解压到“/home/mydir”

6、第4步成功执行完后,把/home/mydir目录中数据库目录复制到你服务器上mysql的“数据库目录”中(也就是mysql配置文件my.ini的datadir="xxxx"指向的目录,其中xxxx是你配置文件的实际位置

7、然后执行“文档1”中的第15步,第15步不能缺少,不然没有权限

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

chown -R mysql:mysql/home/mydir

8、此时还没有完全恢复成功,如果此时用navicat链接数据库后会提示“table “xxx” doesn`t exist”,

重要的一步(参考了/anonymking/article/details/79589623,重点参考第3部和第4部):

9、如果扔完无法重启mysql,并且报错如下:

Redirecting to /bin/systemctl start mysqld.service

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

进入mysql错误日志,看到下面红色字体了吗?说明mysql没权读写,就是权限不够

请把/home/mydir的ibdata1、ib_logfile*文件用命令

chown -R mysql:mysql ibdata1以及

chown -R mysql:mysql ib_logfile0

chown -R mysql:mysql ib_logfile1

等修改用户权限

然后再进行第8步,确保拷贝到数据库文件的存储位置的文件有mysql的读写权限

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。