阅读:2665回复:0
docker 容器使用 xtrabackup 软件,恢复rds 备份数据
内容
1. 目标 2. 环境介绍 3. 操作步骤 4. 参考帮助 目标 1. 借用 docker 容器,恢复阿里云 rds 备份数据,优势是恢复备份数据后,可直接删除容器,不影响宿主机系统; 2. 阿里云rds 使用 xtrabackup 备份Mysql 数据,学习 xtrabackup 恢复数据; 环境 宿主机:ubuntu 14.04 amd64 容器软件:docker 1.9.x 容器镜像:CentOS 7 amd64 操作步骤 1. 宿主机 ls /home/dockerhins1335211_xtra_20160523230054.tar.gz percona-xtrabackup-24-2.4.3-1.el6.x86_64.rpm rds_backup_extract.sh 1.1 文件说明 rds_backup_extract.sh #rds备份专用的解压脚本文件; hins1335211_xtra_20160523230054.tar.gz #使用xtrabackup备份rds 的备份文件; percona-xtrabackup-24-2.4.3-1.el6.x86_64.rpm #xtrabackup备份安装文件; 1.2 启动容器 docker run -ti -v /home/docker/:/docker/ centos7 2. 容器 使用以上命令启动容器后,直接进入容器控制台; 2.1 安装xtrabackup yum localinstall percona-xtrabackup-24-2.4.3-1.el6.x86_64.rpm 2.2 解压备份文件 mkdir -p /data/mysql sh rds_backup_extract.sh -f hins1335211_xtra_20160523230054.tar.gz -C /data/mysql/Extracting to /data/mysql/... ./backup-my.cnf ibdata1 mysql/slave_worker_info.ibd 省略.... ./xtrabackup_slave_info ./xtrabackup_slave_filename_info ./xtrabackup_binlog_info ./log000000000002.tokulog27 ./tokudb.rollback ./tokudb.directory ./tokudb.environment ./xtrabackup_info xtrabackup_logfile xtrabackup_checkpoints Done. 2.3 恢复数据文件 阿里云RDS MySQL 使用开源软件 percona-Xtrabackup 对 MySQL 数据库进行备份。需要下载并安装该软件,然后使用该软件进行恢复。 innobackupex --defaults-file=/data/mysql/backup-my.cnf --apply-log /data/mysql/160524 07:19:31 innobackupex: Starting the apply-log operation 省略.... innobackupex version 2.4.3 based on MySQL server 5.7.11 Linux (x86_64) (revision id: 6a46905) xtrabackup: cd to /data/mysql xtrabackup: This target seems to be not prepared yet. InnoDB: Number of pools: 1 xtrabackup: xtrabackup_logfile detected: size=8388608, start_lsn=(850279632) 省略.... InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 InnoDB: New log files created, LSN=850285186 省略.... InnoDB: Starting crash recovery. InnoDB: Removed temporary tablespace data file: "ibtmp1" InnoDB: Creating shared tablespace for temporary tables 省略.... InnoDB: Shutdown completed; log sequence number 850295933 160524 07:19:59 completed OK! 2.4 配置文件修改 由于存在的版本问题,请将解压文件backup-my.cnf中的不需要的参数注释掉,例如: # This MySQL options file was generated by innobackupex. # The MySQL server [mysqld] #innodb_checksum_algorithm=innodb innodb_data_file_path=ibdata1:200M:autoextend innodb_log_files_in_group=2 innodb_log_file_size=1048576000 #innodb_page_size=16384 #innodb_undo_directory=. #innodb_undo_tablespaces=0 #rds_encrypt_data=OFF 2.5 修改文件属主 chown -R mysql:mysql /data/mysql/ 2.6 启动mysqld进程 mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --datadir=/data/mysql --user=mysql &[1] 229 160526 03:16:27 mysqld_safe Logging to '/data/mysql/c88f6d20f621.err'. 160526 03:16:27 mysqld_safe Starting mysqld daemon with databases from /data/mysql 2.7 验证 mysqladmin pingmysqld is alive 2.8 后续 完成以上步骤后,使用mysqldump 导出需要的数据即可,mysqldump 参考这里; 帮助文档 Percona XtraBackup RDS备份文件恢复到自建数据库 # |
|
|