重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品。Xtrabackup由个部分组成:xtrabackup和innobackupex,其中xtrabackup工具用于备份innodb和 xtraDB引擎的表;而innobackupex工具用于备份myisam和innodb引擎的表,本文将介绍如何用innobackupex工具做全量和增量备份。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比香洲网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式香洲网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖香洲地区。费用合理售后完善,10余年实体公司更值得信赖。
一、安装
在安装Xtrabackup之前已经安装了MySQL数据库,选用的Xtrabackup版本是2.2.9,如果想用其他的版本,请参考:https://www.percona.com/downloads/XtraBackup。
为了方便,直接使用yum进行安装:
yum install https://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.9/binary/redhat/6/x86_64/percona-xtrabackup-2.2.9-5067.el6.x86_64.rpm
二、数据库的全备与还原
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --port=3306 --socket=/u01/app/mysql/run/mysql.sock /u01/app/mysql/backup/
还原:
关闭数据库:
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --use-memory=100m --apply-log /u01/app/mysql/backup/2016-11-10_14-16-50
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --copy-back /u01/app/mysql/backup/2016-11-10_14-16-50
#应用binlog日志
[root@mysql 2016-11-10_14-16-50]# cat xtrabackup_binlog_info
mysql-bin.000012 311
mysqlbinglog /u01/app/mysql/log/mysql-bin.000012 --start-position=311 |mysql -u root -p***
修改权限
cd /u01/app/mysql/data
chown -R mysql:dba
启动数据库
/etc/init.d/mysql start
三、增量备份与还原
--增量备份
create table t_time(id int auto_increment primary key,t_time datetime);
insert into t_time(t_time) values(now());
--先做全备
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --port=3306 --socket=/u01/app/mysql/run/mysql.sock /u01/app/mysql/backup/
--再做增量备份
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --incremental-basedir=/u01/app/mysql/backup/2016-11-10_14-46-43 --incremental /u01/app/mysql/backup/
--增量恢复的步骤
innobackupex --apply-log --redo-only /u01/app/mysql/backup/2016-11-10_14-46-43
innobackupex --apply-log --redo-only /u01/app/mysql/backup/2016-11-10_14-46-43 --incremental-dir=/u01/app/mysql/backup/2016-11-10_14-49-09
--应用备份
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --use-memory=100m --apply-log /u01/app/mysql/backup/2016-11-10_14-46-43
innobackupex --defaults-file=/u01/app/mysql/my.cnf --user=root --password=*** --copy-back /u01/app/mysql/backup/2016-11-10_14-46-43
mysqlbinglog /u01/app/mysql/log/mysql-bin.000014 --start-position=482 |mysql -u root -p***