mysql備份之xtrabackup(建議用來備份innodb)

安裝xtrabackupnode

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

安裝xtrabackupsql

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

徹底備份

節點一

修改配置文件,設置爲每張表單獨一個表空間,此項必須在安裝數據庫的時候就設置數據庫

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

建立備份目錄vim

[root@node1 ~]# mkdir /backpus/ 備份

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

複製給節點2app

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

節點二

(節點二的mysql安裝後不要啓動,啓動後因生成有初始化文件沒法還原)less

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

把備份文件移動到/backups目錄下ide

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

對備份文件進行整理spa

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

還原orm

[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數據庫的屬主和屬組權限出現的問題。

相關文章
相關標籤/搜索