RDS恢复数据到本地mysql(阿里云)
2016-10-19 17:58
567 查看
一、准备mysql环境
1.1、安装mysql依赖软件
1.2、安装mysql
1.3、创建mysql用户及准备rds恢复数据
二、安装perconna
三、恢复数据
最后恢复的结尾出现ok表示恢复成功,最后再重新赋予mysql主目录的属主就可以启动了
四、使用percona执行完整和增量备份
4.1、完整备份
4.2、增量备份
“--incremental”选项指明是增量备份
五、恢复完整备份和增量备份
5.1回滚完整备份、
5.2、回滚增量备份、
不管有几个增量备份,都必须要指定完整备份的所在目录
5.3、恢复完整备份
六、导入或导出单张表
6.1、前提(设置设置mysql的两个变量)
6.2、导出单张表
上面的命令会为每个innodb表的表空间创建一个以.exp结尾的文件,恢复的时候需要这个文件
6.3、导入单张表(导入时要先在目标服务器上创建一个跟还原的表的表结构一致的表,然后删除表空间)
6.4、将导出表生成的mytable.ibd和mytable.exp文件复制到当前服务器的数据目录并执行
1.1、安装mysql依赖软件
[root@shop src]# yum install -y gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* cmake bison bison-devel* [root@shop src]# wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz [root@shop src]# wget [root@shop src]# tar -zxvf cmake-2.8.8.tar.gz [root@shop src]# cd cmake-2.8.8 [root@shop cmake-2.8.8]# ./bootstrap [root@shop cmake-2.8.8]# gmake && gmake install [root@shop cmake-2.8.8]# cd ../ && tar -zxvf bison-2.5.tar.gz [root@shop bison-2.5]# cd bison-2.5 [root@shop bison-2.5]# ./configure [root@shop bison-2.5]# make && make install
1.2、安装mysql
[root@shop ~]# wget 'http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.34.tar.gz' -O /usr/local/src [root@shop ~]# cd /usr/local/src/ [root@shop src]# tar –zxvf mysql-5.6.32.tar.gz [root@shop src]# cd mysql-5.6.32 [root@shop mysql-5.6.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ [root@shop mysql-5.6.32]# make && make install [root@shop mysql-5.6.32]# mkdir -p /data/mysql [root@shop mysql-5.6.32]# chown -R mysql.mysql /data/mysql [root@shop mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld [root@shop mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf [root@shop mysql]# chmod +x /etc/init.d/mysqld [root@shop mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/
1.3、创建mysql用户及准备rds恢复数据
[root@shop mysql-5.6.32]# useradd -u 49 -M -s/sbin/nologin mysql [root@shop mysql-5.6.32]# wget -c 'http://rdsbak-qd.oss-cn-qingdao-a-internal.aliyuncs.com/cxxxx7/xxxxx_data_xxxxxx.tar.gz?OSSAccessKeyId=xxxxauj3xxx40hb&Expires=xxxxxx&Signature=EioKxxxxAnnLn2JYJpxxxxxo%3D' -O ./mysqlbin.tar [root@shop mysql-5.6.32]# tar -zxvf mysqlbin.tar
二、安装perconna
[root@shop src]# wget http://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.2.10/binary/redhat/6/x86_64/Percona-XtraBackup-2.2.10-re623acb-el6-x86_64-bundle.tar [root@shop src]# tar -xvf Percona-XtraBackup-2.2.10-re623acb-el6-x86_64-bundle.tar [root@shop src]# yum -y install perlperl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-ExtUtils-CBuilderperl-ExtU tils-MakeMaker libdigest-perl-md5-perl perl-Digest-MD5 [root@shop src]# rpm -ivh percona-xtrabackup-2.2.10-1.el6.x86_64.rpm
三、恢复数据
[root@shop src]# innobackupex --apply-log /data/mysql-bak/ [root@shop src]# innobackupex --copy-back /data/mysql-bak/
最后恢复的结尾出现ok表示恢复成功,最后再重新赋予mysql主目录的属主就可以启动了
[root@shop mysql-5.6.32]# chown -R mysql.mysql /data/mysql
四、使用percona执行完整和增量备份
4.1、完整备份
[root@shop ~]# innobackupex --user=mysql /data/backup/data/backup指定备份位置
4.2、增量备份
[root@shop ~]# innobackupex --incremental /data/backup --incremental-basedir=/data/backup“--incremental-basedir”选项指定上一次完整或增量备份的存放目录
“--incremental”选项指明是增量备份
五、恢复完整备份和增量备份
5.1回滚完整备份、
[root@shop ~]# innobackupex --apply-log --redo-only /data/backup
5.2、回滚增量备份、
[root@shop ~]# innobackupex --apply-log --redo-only /data/backup --incremental-dir=/data/backup/increment-backup-dir回滚增量备份的时候要指定完整备份的所在目录,且指定要回滚的增量备份的所在目录
不管有几个增量备份,都必须要指定完整备份的所在目录
5.3、恢复完整备份
[root@shop ~]# innobackupex --copy-back /data/backup恢复时只需要恢复完整备份就好,因为增量备份已经回滚到完整备份了
六、导入或导出单张表
6.1、前提(设置设置mysql的两个变量)
导出的数据库设置innodb_file_per_table=1 导入的数据库设置innodb_file_per_table=1,innodb_expand_import=1
6.2、导出单张表
[root@shop ~]# innobackupex --user=mysql /data/mysql [root@shop ~]# innobackupex --apply-log --export /data/backup/mytable
上面的命令会为每个innodb表的表空间创建一个以.exp结尾的文件,恢复的时候需要这个文件
6.3、导入单张表(导入时要先在目标服务器上创建一个跟还原的表的表结构一致的表,然后删除表空间)
mysql> create table mytable (...) ENGINE=InnoDB; mysql> alter table mydatabase.mytable discard tablespace;
6.4、将导出表生成的mytable.ibd和mytable.exp文件复制到当前服务器的数据目录并执行
mysql> alter table mydatabase.mytable import tablespace;
相关文章推荐
- 一次血的教训,阿里云rds mysql 数据库,本地化并日志恢复已删除的两天数据
- 烂泥:阿里云RDS本地恢复数据
- 一次血的教训,阿里云rds mysql 数据库,本地化并日志恢复已删除的两天数据
- 阿里云RDS数据备份本地恢复
- 烂泥:阿里云RDS本地恢复数据
- 阿里云RDS恢复数据到本地上
- 阿里云RDS数据恢复到本地MySQL数据库
- 阿里云RDS数据本地恢复
- 恢复阿里云RDS数据
- 阿里云RDS for MySQL 备份文件恢复到自建数据库
- 阿里云RDS备份的tar格式包恢复到本地自建数据库
- 如何将阿里云的数据库备份RDS文件在本地恢复
- 记一次从阿里云的rds恢复备份数据到自建数据库
- 阿里云本地大数据迁移到RDS
- 迁移 RDS for MySQL 数据到本地 MySQL
- 迁移 RDS for MySQL 数据到本地 MySQL
- 轻松四步搞定阿里云RDS云数据库恢复到本地mysql数据库
- 阿里云数据恢复 rds
- 使用mysql备份工具innobackupex将本地数据 直接恢复 到远端服务器数据目录操作实例