操作系统中已安装数据恢复工具Percona XtraBackup。MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4。可以从Percona XtraBackup官网下载安装,yum安装即可。
1,yum -y install percona-xtrabackup-22-2.2.13-1.el7.x86_64.rpm
2,去阿里官网下载自己的mysql备份文件
wget -c '阿里RDS备份文件的内网活着外网地址' -O 下载到本地的文件名,注意下载地址需要加上单引号
如:
wget -c 'https://xxxxx.com/hins3571541_data_20190408043520.tar.gz?OSSAccessKeyId=LTAIyKzxtSYNknVO&Expires=1554860441&Signature=lgumCDebS4I0aYjKTadupl3mxCU%3D' -O a.tar.gz
3,解压
tar izxvf a.tar.gz -C 直接解压到你安装好的数据库路劲,把原来的数据库路劲备份新建一个。
比如我的数据库安装路劲是/usr/local/mysql/var 我把原来的var备份了,新建了一个var
tar izxvf a.tar.gz -C /usr/local/mysql/var/
解压后会看到backup-my.cnf等文件
4,恢复
innobackupex --defaults-file=/usr/local/mysql/var/backup-my.cnf --apply-log /usr/local/mysql/var/
恢复返回这样就算成功
5,为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。
vim /usr/local/mysql/var/backup-my.cnf
这三行注释掉6,说明 如果本地使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加
skip-grant-tables
7,执行如下命令,修改文件属主,并确定文件所属为MySQL用户。
chown -R mysql:mysql /usr/local/mysql/var
8,最后启动就OK了。
service mysql start
9,偷偷的写了个脚本
#!/bin/bash
service mysql stop
rm -rf /usr/local/mysql/var
mkdir /usr/local/mysql/var
URL='阿里云rds外网地址'
wget -c '$URL' -O a.tar.gz
tar -izxvf a.tar.gz -C /usr/local/mysql/var/
innobackupex --defaults-file=/usr/local/mysql/var/backup-my.cnf --apply-log /usr/local/mysql/var/
cat << EOF >backup-my.conf
# This MySQL options file was generated by innobackupex.
# The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
innodb_log_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1048576000
#innodb_fast_checksum=false
#innodb_page_size=16384
#innodb_log_block_size=512
innodb_undo_directory=.
innodb_undo_tablespaces=0
rds_encrypt_data=false
innodb_encrypt_algorithm=aes_128_ecb
EOF
chown -R mysql:mysql /usr/local/mysql/var
service mysql start
运维QQ交流群:171586999
网友评论