阿里云rds(mysql5.6)释放后怎么恢复数据库
2023-06-26 11:09:28 阅读:940
我们都知道,阿里云的ecs到期后,可以打快照,可以做镜像,随时可以恢复程序和ecs上的数据库等信息,但是rds却没有相应的快照这个说法,一旦rds到期,貌似就没有办法恢复了,其实恢复方式并不难,根据阿里云提供的方案和网友的总结,我实验了一下,成功恢复了已过期的rds的数据。首先说一下怎么保留数据库备份,如下图:上图中很清晰的可以看到怎么设置保留最后一个rds备份集的方法,这样,即使rds到期了,最后一个备份也存在,你依然可以用来恢复数据,这里我就不多讲了(看上图就知道怎么设置),因为这片文章主要讲的是怎么恢复数据。有了最后一个数据后,rds释放了,恢复之前,我们需要先下载这个文件,下载位置如下:下载之后,你会得到一个****.xb文件,这是阿里云用的xbstream工具备份的,想获取数据表结构和数据,就要从这个文件下手。首先你要准备一个安装宝塔的centos系统,然后安装上mysql,找个地方放下,并重命名为:test_qb.xb,然后安装必备软件:xtrabackup、xtrabackup和qpress,安装命令如下:wgethttps://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
yuminstall-ypercona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
wget"http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/183466/cn_zh/1608011575185/qpress-11-linux-x64.tar"
tarxvfqpress-11-linux-x64.tar
chmod775qpress
cpqpress/usr/bin安装完之后,先解压test_qb.xb文件,可以先在test_qb.xb的所在位置新建一个data文件夹,然后将test_qb.xb解压,命令如下:cattest_qb.xb|xbstream-x-v-C./data然后还需要进行二次解:innobackupex--decompress--remove-original./data最后通过innobackupex进行解压,得到数据库原始表结构和数据文件innobackupex--defaults-file=/www/data/backup-my.cnf--apply-log./data补充:--defaults-file自建数据库的配置文件路径。本文以/etc/my.cnf为例--datadir启动数据库使用的数据目录。本文以./data为例然后,给data这个文件夹和文件夹内部的文件mysql的755权限,注意,不是www权限,也不是httpd权限,是mysql的755权限最后,因为我们是mysql5.6的数据恢复,需要找到mysql服务,systemctlstopmysqld,进行停止mysql服务,切换my.cnf里面的datadir文件夹为data文件夹所在的路径即可,当然,不想切换也可以,直接到终端中,将现在的mysql文件夹里面的data文件夹重命名,然后复制刚才解压出来的data文件夹到现在的mysql里面,启动mysql即可。启动后请注意,由于是rds转移过来的数据,所以你的数据库用户名和数据库名字都是原来rds上的,如果要访问数据库,请使用原来rds里面的数据库用户名访问。使用navicat或者phpmyadmin访问数据库后,你会发现rds里面的所有数据都回来了。你可以选择导出.sql文件,也可以直接使用该数据库。里面虽然有好多坑,实际操作起来可能会有好几处会出现问题或者不能用,但是都逐步解决了,如果你也有类似的需求可以按照我的方法操作一下,最后说一下阿里云的恢复教程:https://help.aliyun.com/document_detail/41817.html