運用xtrabackup完成mysql備份。本站提示廣大學習愛好者:(運用xtrabackup完成mysql備份)文章只能為提供參考,不一定能成為您想要的結果。以下是運用xtrabackup完成mysql備份正文
下載地址: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數據庫的屬主和屬組權限呈現的問題。