继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用xtrabackup实现mysql备份

慕工程3455409
关注TA
已关注
手记 318
粉丝 78
获赞 293

下载地址:https://www.percona.com/downloads/XtraBackup/

安装xtrabackup

?

1[root@node1 ~]# yum install percona-xtrabackup

完全备份

节点一

修改配置文件,设置为每张表单独一个表空间,此项必须在安装数据库的时候就设置

?

123[root@node1 ~]# vim /etc/my.cnf[mysqld]innodb_file_per_table=ON

创建备份目录

?

1[root@node1 ~]# mkdir /backpus/

备份

?

1[root@node1 ~]# innobackupex --user=root /backpus/

复制给节点2

?

1[root@node1 ~]# scp -r /backpus/2016-07-13_20-27-04 192.168.1.114:/root/

节点二

(节点二的mysql安装后不要启动,启动后因生成有初始化文件无法还原)

?

1[root@node2 ~]# yum install percona-xtrabackup

把备份文件移动到/backups目录下

?

12[root@node2 ~]# mkdir /backups/[root@node2 ~]# mv 2016-07-13_20-27-04/ /backups/

对备份文件进行整理

?

1[root@node2 ~]# innobackupex --apply-log /backups/2016-07-13_20-27-04/

还原

?

1[root@node2 ~]# innobackupex --copy-back /backups/2016-07-13_20-27-04/

修改文件权限

?

1[root@node2 ~]# chown -R mysql:mysql /var/lib/mysql/*

增量备份

修改数据

?

1234[root@node1 ~]# mysqlMariaDB [(none)]> use hellodb;MariaDB [hellodb]> create table xxoo2 (id int);MariaDB [hellodb]> insert into xxoo2 values (1),(10),(83);

对之前完全备份的文件进行增量备份

[root@node1 ~]# innobackupex --incremental /backpus/ --incremental-basedir=/backpus/2016-07-13_20-27-04

对完全备份做只读,为增量和完全合并做准备

[root@node1 ~]# innobackupex --apply-log --redo-only /backpus/2016-07-13_20-27-04/

合并增量到完全中

[root@node1 ~]# innobackupex --apply-log --redo-only /backpus/2016-07-13_20-27-04/ --incremental-dir=/backpus/2016-07-13_23-13-25/

查看增量备份文件

?


[root@node1 ~]# less /backpus/2016-07-13_23-13-25/xtrabackup_checkpoints backup_type = incrementalfrom_lsn = 1642047to_lsn = 1646912last_lsn = 1646912compact = 0

查看完全备份文件

?


[root@node1 ~]# less /backpus/2016-07-13_20-27-04/xtrabackup_checkpointsbackup_type = full-preparedfrom_lsn = 0to_lsn = 1646912last_lsn = 1646912compact = 0

之后如果有新的增量备份文件还可以继续在完全备份文件上合并 还原时将完全备份文件拿去还原即可

注意:mysql的访问权限,我操作过程中多次出现错误,都是在mysql数据库的属主和属组权限出现的问题。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP