有个网站的数据库用了下RDS,本文记录将RDS备份文件backup.gz还原到本地Mysql服务器中的流程。
顺便解决了innobackupex_55: command not found报错的问题,此处严重鄙视百度的工单系统值班人员,会个球!!
安装XtraBackup工具,去官网根据对应系统版本,安装XtraBackup,我安装的是比较经典稳定的2.1.5版
1 | wget https://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.5/RPM/rhel6/x86_64/percona-xtrabackup-2.1.5-680.rhel6.x86_64.rpm |
安装依赖包
1 | yum install -y perl-DBD-MySQL perl-DBI perl-Time-HiRes libaio* |
安装
1 | rpm -ivh percona-xtrabackup-2.1.5-680.rhel6.x86_64.rpm |
查看安装成功没有
1 | rpm -qa |grep xtrabackup |
显示
percona-xtrabackup-2.1.5-680.rhel6.x86_64
1 | rpm -ql percona-xtrabackup-2.1.5-680.rhel6.x86_64 |
显示
/usr/bin/innobackupex
/usr/bin/innobackupex-1.5.1
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup
/usr/bin/xtrabackup_55
/usr/bin/xtrabackup_56
/usr/share/doc/percona-xtrabackup-2.1.5
/usr/share/doc/percona-xtrabackup-2.1.5/COPYING
使用wget从下载备份文件,下载下来的文件需要重新命名 使用mv命令重命名为backu.gz
下载xtrabackup程序完成后,首先解压backup.gz,再使用xtrabackup中附带的解包工具进行解包。
执行命令:
1 | mkdir -p /home/mysql/data_dir && gzip -d -c backup.gz | xbstream -x -C /home/mysql/data_dir |
完成解压及解包后应用innodb的redo-log,执行命令(注意百度教程中是错误的!!发工单,傻逼客服让看教程,气死了。。。百度在衰亡!!!)
以下是百度教程中的错误命令:
1 | innobackupex_55 --defaults-file=/home/mysql/data_dir/backup-my.cnf --apply-log /home/mysql/data_dir |
但是,innobackupex_55命令执行后报错,如下:
1 2 | # innobackupex_55 --defaults-file=/home/mysql/data_dir/backup-my.cnf --apply-log /home/mysql/data_dir -bash: innobackupex_55: command not found |
发百度工单瞎耽误工夫,最后自己搞定了,正确的命令为:
1 | innobackupex --defaults-file=/home/mysql/data_dir/backup-my.cnf --apply-log /home/mysql/data_dir |
执行后出现以下信息则说明成功了
真不知道百度云的客服是干什么的,敷衍了事,根本没有把客户放在第一位!!!!
命令执行完毕后,参考/home/mysql/data_dir/backup-my.cnf文件修改mysql数据库配置中的innodb_log_file_size参数;
使用/home/mysql/data_dir文件夹作为数据目录启动mysql即可。
1 | vi /etc/my.cnf |
将原来的datadir = /usr/local/mysql/var注释掉(怎么注释?语句前面加一个#号)
然后将以下的配置加入my.cnf文件中,注意加在原my.cnf文件中的[mysqld]下面,:wq命令保存
1 2 3 4 5 6 7 8 9 10 | [mysqld] innodb_checksum_algorithm=innodb innodb_log_checksum_algorithm=innodb innodb_data_file_path=ibdata1:32M:autoextend innodb_log_files_in_group=2 innodb_log_file_size=268435456 innodb_fast_checksum=0 innodb_page_size=16384 innodb_log_block_size=512 innodb_undo_tablespaces=0 |
然后重启Mysql服务
1 | /etc/init.d/mysql restart |
评论0