关于RDS备份恢复以及启动的一些报错解决方法
来源:互联网 发布:input name 二维数组 编辑:程序博客网 时间:2024/05/21 08:03
阿里云官网上是有提供关于RDS备份恢复到自建数据库中的方法,但本人根据他们提供的方法进行操作的时候发现很多问题并没有在方法里头提到的怎么解决,只写了如何操作的一个过程,我在这重新梳理了一下过程,并给广发的博友参考。(此文只针对自己恢复过程中遇到的问题解决方法,并不针对所有现象)
一、前提是先安装好数据库
1.首先是把下载的rds_backup_extract随便放在一个地方并授予权限
#chmod -R 777 rds_backup_extract
2.下载备份包进行解压,-C后面指的是你本地数据库data路径。
#bash rds_backup_extract -f /home/mysql/backup/hins575175_xtra_20150429091224.tar.gz -C /home/mysql/data
解压完成。
到https://www.percona.com/downloads/XtraBackup/LATEST/这里去找根据自己版本,下载对应恢复工具,RDS是用2.2.6。我用的是2.2.9的。
#yum -y install perl-Time-HiRes perl-DBD-MySQL
#rpm -ivh percona-xtrabackup-2.2.9-5067.el6.x86_64.rpm
二、开始恢复
1.进入到当时解压的本地数据库data路径下,能看到当时解压出来的所有数据,包括backup-my.cnf。
2.执行语句恢复数据库
#innobackupex --defaults-file=/alidata/server/mysql/data/backup-my.cnf --apply-log /alidata/server/mysql/data/
三.由于5.6的GTID的新特性自建数据库对RDS进行同步需要,所以需要添加一些backup-my.cnf里的参数,所以启动会报以下几个错误。
1.当报:[ERROR] /alidata/server/mysql/bin/mysqld: unknown variable 'innodb_log_checksum_algorithm=innodb'的时候
解决方法:
把my.cnf里的innodb_log_checksum_algorithm=innodb注释掉。(注释掉只是暂时解决,后期有变动我会修改。因为这个参数要用得到。)
2.当报:[ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode的时候
解决方法:
rm -fr ibdata1 ib*,再重新启动即可。
3.当报:[ERROR] --gtid-mode=ON or UPGRADE_STEP_1 or UPGRADE_STEP_2 requires --log-bin and --log-slave-updates
解决方法:
开启GTID需要启用这三个参数,gtid_mode = on,enforce_gtid_consistency = 1,log_slave_updates = 1不然就会报这个错误。
4.当报:[ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/user.frm' (errno: 13 - Permission denied)
解决方法:
由于RDS恢复完成后,表 mysql.user 中是不包含 RDS 中创建的用户,需要新建,或者在my.cnf里面添加user=root。
新建用户前请执行如下 SQL:
delete from mysql.db where user<>'root' and char_length(user)>0;
delete from mysql.tables_priv where user<>'root' and char_length(user)>0;
flush privileges;
- 关于RDS备份恢复以及启动的一些报错解决方法
- 阿里RDS备份恢复
- 关于Tomcat一些启动错误的解决方法
- 关于备份、恢复过程中的一些概念
- RDS的MySQL备份还原
- 记一次从阿里云的rds恢复备份数据到自建数据库
- 虚拟机在64位CentOS搭建lamp环境出现的一些报错以及解决方法
- 从rds的全量备份和日志备份恢复数据到最新的数据的方法
- XAMPP Apache启动报错的解决方法
- SDE服务启动报错的解决方法
- Android 启动Eclipse报错的解决方法
- Oracle启动EM报错的解决方法
- Weblogic启动报错NumberFormatException的解决方法
- 一、mysql数据库的基本操作(备份、恢复数据库以及一些常用的命令)
- 关于Genymotion使用android5.1报错或者无法启动的解决方法
- 关于启动tomcat报错发生服务特定错误1的解决方法
- 关于MySQL修改成utf8mb4编码后启动服务报错1067的解决方法
- 冷备份恢复控制文件报错
- Spring 配置多数据源实现数据库读写分离
- SQL基础学习(四)- Mysql 查看信息的命令
- Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据
- Maven 两个项目间的war依赖
- Opencv直线拟合
- 关于RDS备份恢复以及启动的一些报错解决方法
- MYSQL性能优化的最佳20+条经验
- JSP标签的pager-taglib分页标签
- Gradle for Android 第三篇( 依赖管理 )
- Glide 第一次只加载显示 placeholder 的解决
- LeetCode : Reverse Bits
- Pelles C 编译器 安装教程
- 运行yum报错:No module named yum
- inittab文件格式