mysql备份之xtrabackup

mysql备份之xtrabackup(建议用来备份innodb)

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

安装xtrabackup

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

完全备份

节点一

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

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

创建备份目录

[root@node1 ~]# mkdir /backpus/

备份

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

复制给节点2

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

节点二

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

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

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

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

对备份文件进行整理

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

还原

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

修改文件权限

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

增量备份

修改数据

[root@node1 ~]# mysql
MariaDB [(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 = incremental
from_lsn = 1642047
to_lsn = 1646912
last_lsn = 1646912
compact = 0

查看完全备份文件

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

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

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

原创文章,作者:N17_信风,如若转载,请注明出处:http://www.178linux.com/24868

(0)
N17_信风N17_信风
上一篇 2016-07-19
下一篇 2016-07-19

相关推荐

  • vim编译器与shell脚本简介

    一、vim文本编译器       vi:Visual Interface,文本编辑器;   文本: ASCII Unicode  文本编辑种类:行编辑器:sed  ;全屏编辑器:nano,vi ,vim ;其他编辑器:gedit(图形),g…

    Linux干货 2016-11-24
  • jenkins+gitlab构建安卓自动编译环境

        因工作关系接触到接触到安卓自动编译环境,网上的资料都推荐了jenkins,因为第一次接触安卓和jenkins,踩了不少的坑,有总结才有进步。    gitlab环境之前已经安装完成可用,具体步骤另外详解吧。本例目标是在gitlab可用前提下,通过jenkins将git仓库的代码自行编译打包,生成可用的apk安装…

    Linux干货 2016-07-16
  • Linux Sysadmin–part4

    一、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) A.POST加电自检 主板在接通电源后,系统首先由POST程序来对内部各个设备进行检查,自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。 B.BIOS…

    2017-10-10
  • linux基础2

    linux基础2

    Linux干货 2018-03-18
  • ls、shutdown命令使用及命令提示符格式修改

        ls、shutdown命令使用及命令提示符格式修改                      &nbs…

    Linux干货 2016-10-17
  • Linux文件系统权限详解

    一、综述 在用户和组的管理中介绍了Linux系统是用户多任务的分时操作系统,这意味着同时可以有多人在同一台pc上进行不同的操作。为了能够保护每个用户的数据安全,针对不同的用户设置相应的权限是非常重要的。 Linux文件系统权限主要针对三类用户: 文件的所有者: owner,用u标识 文件的所有组:group,用g标识 其他人: other,用o标识。不包含在…

    Linux干货 2016-08-04