RDS的tar文件恢复到本地mysql5.7版本数据库
参考博客:
安装qpress软件 https://blog.csdn.net/a18838964650/article/details/82800621 文章介绍补充 https://www.cnblogs.com/pangchunyu/p/11422830.html 阿里云rds的xb文件恢复到本地数据库 https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186631.2.1.434247acfAIAwYhttps://home.firefoxchina.cn 解决MySQL 恢复数据库表时提示 table “xxx” doesn`t exist https://blog.csdn.net/anonymking/article/details/79589623
一:环境准备工作,安装mysql和Percona工具
centos7上yum安装mysql5.6系统的网址
centos7上yum安装mysql5.6系统的网址 https://blog.csdn.net/pengjunlee/article/details/81212250 centos7上yum安装mysql5.7系统的网址 https://www.cnblogs.com/luohanguo/p/9045391.html
安装Percona-XtraBackup-2.4.8的网址
https://blog.csdn.net/mr_tia/article/details/81979689
下载XtraBackup rpm包
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm
安装依赖包:
rpm -Uvh http://rpmfind.net/linux/epel/6/x86_64/Packages/l/libev-4.03-3.el6.x86_64.rpm yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-Digest-MD5
安装XtraBackup2.4.8
rpm -ivh percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm
二:恢复流程:
tar -izxvf hins100277714_data_20191205202006.tar.tar -C /home/data innobackupex --defaults-file=/home/data/backup-my.cnf --apply-log /home/data/ cd /home/data chown -R mysql:mysql rocket_data ib_logfile0 ib_logfile1
只获取需要恢复的数据库
mv rocket_data /var/lib/mysql

如果此时显示不正确,则需要其他文件
就是将配套的ibdata1 ib_logfile0 ib_logfile1这三个文件移动到yum安装的mysql目录下,如果出问题,一定是这三个文件的权限问题,需要多次测试才行.
cd /var/lib/mysql mv ibdata1 ib_logfile0 ib_logfile1 /test cd /home/data mv ibdata1 ib_logfile0 ib_logfile1 /var/lib/mysql
重启数据库
注意:重启的时候会有偶尔启动不了的情况,多启动几次,如果还是不行,请查看错误日志。
最终数据恢复了
查看本地数据库的数据目录位置:
注意:
1 2 3 4 5 6 7 8 | 一、数据备份: 1、完整备份:把 datadir 对应的 datadir 直接拷贝就可以 2、部分备份:data 文件夹下的文件夹都表示一个表,可以单独备份 二、部分备份出现问题: 1、类型是 MyISAM 的表对应数据文件是 "xxx.frm" 、 "xxx.MYD" 、 "xxx.MYI" ,这种情况下直接拷贝没有问题。 2.1、类型是 InooDB 的表对应数据文件是 "xxx.frm" ,而这种情况下直接拷贝就出现问题了 -- “table “xxx” doesn`t exist”。 2.2、解决办法: InnoDB 数据库表拷贝是注意要把data文件夹下的 ibdata1 也同时拷贝过去 若还是出现问题的话就把新的data文件夹下的 ib_logfile* 文件删除掉,或者说带着 ib_logfile* 文件也一起拷贝 最后记得启动MySQL服务就可以了 |
还有就是有时候需要知道默认的5.6版本用的是MyIsam引擎,而rds5.7使用的默认是innodb引擎,所以需要在配置文件中注明,需要和rds保持一致!!!
总结:
这样的数据只能在本地恢复,如果之前本地有很多的数据库,那么不建议这样做,要不然整个数据库就崩了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步