CentOS6.5使用Xtrabackup恢复MySQL5.6数据库(云RDS至本地)

时间:2022-03-21 10:24:21

官方参考文档

恢复云数据库MySQL的备份文件到自建数据库

实际操作步骤

Step 1 安装数据备份文件解压工具rds_backup_extract.sh

下载地址

Step 2 下载备份文件

wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz

参数说明:

-c:启用断点续传模式。

-O:将下载的结果保存为指定的文件(建议使用URL中包含的文件名)。

说明:若提示显示100%进度,则表示文件下载完成。

Step 3 解压备份文件

bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/mysql/data
[root@centos data_backup]# ls
auto.cnf            botanndesign                 btkjdb_data    charging@002dtest          mysql                  tokudb.directory              xtrabackup_info
backup-my.cnf       botannfare_test              btkjdb_simply  ibdata1                    mysql_upgrade_info     tokudb.environment            xtrabackup_logfile
backup-my.cnf.back  botann_marketing_plt         carteam        ib_logfile0                performance_schema     tokudb.rollback               xtrabackup_slave_filename_info
backup.tar.gz       botann_marketing_plt_backup  carteamtest    ib_logfile1                rds_backup_extract.sh  xtrabackup_binlog_info        xtrabackup_slave_info
botanfare           botann_marketing_plt_test    centos.err     ibtmp1                     test                   xtrabackup_binlog_pos_innodb
botannb2bdb         btkjdb                       centos.pid     log000000000012.tokulog29  testdb                 xtrabackup_checkpoints

参数说明:

-f:指定要解压的备份集文件。

-C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。

Step 4 恢复解压好的备份文件

innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data

Step 5 配置已恢复MySQL选项

[root@centos data_backup]# cp /home/mysql/data/backup-my.cnf /etc/my.cnf
[root@centos data_backup]# vim /etc/my.cnf
[mysqld]
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1572864000

datadir = /home/mysql/data

注:云RDS不支持federated引擎,但本地MySQL可配置,如本地需要启用,在/etc/my.cnf中添加federated关键字即可。

Step 6 修改恢复MySQL目录权限

chown -R mysql:mysql /home/mysql/data

注:如不准确执行该步骤,MySQL无法启动。

Step 7 MySQL初始化

[root@centos bin]# /usr/bin/mysql_secure_installation
如报错,根据错误提示信息指示操作即可:
[root@centos bin]# mysql_upgrade

Step 8 启动MySQL

[root@centos ~]# service mysql start
Starting MySQL......                                       [确定]

Stop 9 添加账号

mysql> mysql -uroot -p;
mysql> use mysql;
mysql> grant all on *.* to username@"%" identified by "xxxxxxxx";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
mysql> quit;

Step 10 开放3306端口,用于远程连接

[root@centos sbin]# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[root@centos sbin]# service iptables start
iptables:应用防火墙规则:                                 [确定]