利用xtrabackup进行增量备份和增量恢复的实验
2016-05-20 23:00
489 查看
一.xtrabackup下载安装
下载:http://www.percona.com/redir/downloads/XtraBackup
并解压到/usr/local下:
tar -xvf percona-xtrabackup-2.0.7-552.tar.gz -C /usr/local/
chown -R mysql:mysql /usr/local/percona-xtrabackup-2.0.7
工具说明:
innobackupex –同时支持备份innodb和myisam
xtrabackup –只备份innodb
二.备份前准备
将/usr/local/percona-xtrabackup-2.0.7/bin加入到.bash_profile环境变量PATH中:
export LANG=zh_CN.GB18030
export PATH=/mysql/server/mysql/bin:$PATH
export PATH=/mysql/server/mysql/scripts:$PATH:/usr/local/percona-xtrabackup-2.0.7/bin
为了安全起见,先建立专用备份账号,并授给相应的权限:
(system@localhost) [(none)]> create user
xtrabk@'localhost' identified by 'onlybackup';
Query OK, 0 rows affected (0.00 sec)
grant reload,lock tables,Replication client,super on *.* to
xtrabk@'localhost';
三.备份操作
1.全量备份:
innobackupex --defaults-file=/mysql/server/conf/my.cnf --user=xtrabk --password='onlybackup' /mysql/backup/
2.增量备份前,先作如下操作:
(system@localhost) [jssdb]> create table t_idb1(name varchar(20),chan varchar(20));
Query OK, 0 rows affected (0.01 sec)
(system@localhost) [jssdb]> insert into jssdb.t_idb1 values(null,'a');
Query OK, 1 row affected (0.01 sec)
(system@localhost) [jssdb]> insert into jssdb.t_idb1 values(null,'b');
Query OK, 1 row affected (0.00 sec)
3.执行增量备份:
[mysql@mvxl0782 backup]$ innobackupex --defaults-file=/mysql/server/conf/my.cnf --user=xtrabk --password='onlybackup' --incremental --incremental-basedir=/mysql/backup/2015-07-03_20-51-25 /mysql/backup/backup_rec
--incremental-basedir指定全量备份的路径.
我们是否可以在增量备份的基础上再做增量备份呢?答案是肯定的,只要把--incremental-basedir改为执行上一次增量备份的目录即可
四.恢复操作
全量备份路径:
/mysql/backup/2015-07-03_20-51-25
增量备份路径:
/mysql/backup/backup_rec/2015-07-03_22-59-33
cnf文件最好也要备份一下
先关闭mysql:
[mysql@mvxl0782 jssdb]$ mysqladmin -u system -p shutdown
将数据文件主目录data改名为data_old
Cd /mysql/server
mv data data_old
mkdir data
准备恢复步骤:
全量恢复准备:
[mysql@mvxl0782 server]$ innobackupex --defaults-file=/mysql/server/conf/my.cnf --apply-log --redo-only /mysql/backup/2015-07-03_20-51-25/
--redo-only---如果还有增量备份,需要指这个参数
可以加--use-memory=20参数
或用innobackupex --defaults-file=/mysql/server/conf/my.cnf —copy-back --rsync /mysql/backup/2015-07-03_20-51-25/
增量恢复准备:
[mysql@mvxl0782 server]$ innobackupex --defaults-file=/mysql/server/conf/my.cnf --apply-log /mysql/backup/2015-07-03_20-51-25/ --incremental-dir=/mysql/backup/backup_rec/2015-07-03_22-59-33
执行恢复步骤:
innobackupex --defaults-file=/mysql/server/conf/my.cnf --copy-back /mysql/backup/2015-07-03_20-51-25
验证恢复是否成功:
(system@localhost) [(none)]> use jssdb
Database changed
(system@localhost) [jssdb]> show tables;
+-----------------+
| Tables_in_jssdb |
+-----------------+
| ld_cmd |
| ld_sql |
| servers |
| t_idb1 |
+-----------------+
4 rows in set (0.00 sec)
(system@localhost) [jssdb]> select * from t_idb1;
+------+------+
| name | chan |
+------+------+
| NULL | a |
| NULL | b |
+------+------+
2 rows in set (0.00 sec)
(system@localhost) [jssdb]>
下载:http://www.percona.com/redir/downloads/XtraBackup
并解压到/usr/local下:
tar -xvf percona-xtrabackup-2.0.7-552.tar.gz -C /usr/local/
chown -R mysql:mysql /usr/local/percona-xtrabackup-2.0.7
工具说明:
innobackupex –同时支持备份innodb和myisam
xtrabackup –只备份innodb
二.备份前准备
将/usr/local/percona-xtrabackup-2.0.7/bin加入到.bash_profile环境变量PATH中:
export LANG=zh_CN.GB18030
export PATH=/mysql/server/mysql/bin:$PATH
export PATH=/mysql/server/mysql/scripts:$PATH:/usr/local/percona-xtrabackup-2.0.7/bin
为了安全起见,先建立专用备份账号,并授给相应的权限:
(system@localhost) [(none)]> create user
xtrabk@'localhost' identified by 'onlybackup';
Query OK, 0 rows affected (0.00 sec)
grant reload,lock tables,Replication client,super on *.* to
xtrabk@'localhost';
三.备份操作
1.全量备份:
innobackupex --defaults-file=/mysql/server/conf/my.cnf --user=xtrabk --password='onlybackup' /mysql/backup/
2.增量备份前,先作如下操作:
(system@localhost) [jssdb]> create table t_idb1(name varchar(20),chan varchar(20));
Query OK, 0 rows affected (0.01 sec)
(system@localhost) [jssdb]> insert into jssdb.t_idb1 values(null,'a');
Query OK, 1 row affected (0.01 sec)
(system@localhost) [jssdb]> insert into jssdb.t_idb1 values(null,'b');
Query OK, 1 row affected (0.00 sec)
3.执行增量备份:
[mysql@mvxl0782 backup]$ innobackupex --defaults-file=/mysql/server/conf/my.cnf --user=xtrabk --password='onlybackup' --incremental --incremental-basedir=/mysql/backup/2015-07-03_20-51-25 /mysql/backup/backup_rec
--incremental-basedir指定全量备份的路径.
我们是否可以在增量备份的基础上再做增量备份呢?答案是肯定的,只要把--incremental-basedir改为执行上一次增量备份的目录即可
四.恢复操作
全量备份路径:
/mysql/backup/2015-07-03_20-51-25
增量备份路径:
/mysql/backup/backup_rec/2015-07-03_22-59-33
cnf文件最好也要备份一下
先关闭mysql:
[mysql@mvxl0782 jssdb]$ mysqladmin -u system -p shutdown
将数据文件主目录data改名为data_old
Cd /mysql/server
mv data data_old
mkdir data
准备恢复步骤:
全量恢复准备:
[mysql@mvxl0782 server]$ innobackupex --defaults-file=/mysql/server/conf/my.cnf --apply-log --redo-only /mysql/backup/2015-07-03_20-51-25/
--redo-only---如果还有增量备份,需要指这个参数
可以加--use-memory=20参数
或用innobackupex --defaults-file=/mysql/server/conf/my.cnf —copy-back --rsync /mysql/backup/2015-07-03_20-51-25/
增量恢复准备:
[mysql@mvxl0782 server]$ innobackupex --defaults-file=/mysql/server/conf/my.cnf --apply-log /mysql/backup/2015-07-03_20-51-25/ --incremental-dir=/mysql/backup/backup_rec/2015-07-03_22-59-33
执行恢复步骤:
innobackupex --defaults-file=/mysql/server/conf/my.cnf --copy-back /mysql/backup/2015-07-03_20-51-25
验证恢复是否成功:
(system@localhost) [(none)]> use jssdb
Database changed
(system@localhost) [jssdb]> show tables;
+-----------------+
| Tables_in_jssdb |
+-----------------+
| ld_cmd |
| ld_sql |
| servers |
| t_idb1 |
+-----------------+
4 rows in set (0.00 sec)
(system@localhost) [jssdb]> select * from t_idb1;
+------+------+
| name | chan |
+------+------+
| NULL | a |
| NULL | b |
+------+------+
2 rows in set (0.00 sec)
(system@localhost) [jssdb]>
相关文章推荐
- c++作业6
- Cobra —— 可视化Python虚拟机 and 图解python
- 《善圈第26期天天圈》:善圈520,鞠躬迎老兵!
- php 保存到mysql数据库中的中文乱码
- 按键精灵手机版监控像素变换点击脚本
- 小酌重构系列[19]——分解大括号
- 算法之自底向上的归并排序
- 高精度模板
- JS是单线程的吗?
- 按键精灵手机版定时点击脚本
- convert-sorted-list-to-binary-search-tree
- windows下读取Linux分区软件
- 教你如何使用Redis:[7]redis常用命令
- Ganglia监控Spark
- IPv6协议原理以及跟IPv4的差别
- 杂谈
- 小sugar呀——康托展开与逆展开
- JSON格式
- 利用脚本脚本实现修改CSS样式
- 利用脚本脚本实现修改CSS样式