使用xtrabackup實現(xiàn)mysql備份
下載地址:https://www.percona.com/downloads/XtraBackup/
安裝xtrabackup
[root@node1 ~]# yum install percona-xtrabackup
完全備份
節(jié)點一
修改配置文件,設置為每張表單獨一個表空間,此項必須在安裝數(shù)據(jù)庫的時候就設置
[root@node1 ~]# vim /etc/my.cnf [mysqld] innodb_file_per_table=ON
創(chuàng)建備份目錄
[root@node1 ~]# mkdir /backpus/
備份
[root@node1 ~]# innobackupex --user=root /backpus/
復制給節(jié)點2
[root@node1 ~]# scp -r /backpus/2016-07-13_20-27-04 192.168.1.114:/root/
節(jié)點二
(節(jié)點二的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/
修改文件權(quán)限
[root@node2 ~]# chown -R mysql:mysql /var/lib/mysql/*
增量備份
修改數(shù)據(jù)
[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
之后如果有新的增量備份文件還可以繼續(xù)在完全備份文件上合并 還原時將完全備份文件拿去還原即可
注意:mysql的訪問權(quán)限,我操作過程中多次出現(xiàn)錯誤,都是在mysql數(shù)據(jù)庫的屬主和屬組權(quán)限出現(xiàn)的問題。
相關文章
mysql insert if not exists防止插入重復記錄的方法
在 MySQL 中,插入(insert)一條記錄很簡單,但是一些特殊應用,在插入記錄前,需要檢查這條記錄是否已經(jīng)存在,只有當記錄不存在時才執(zhí)行插入操作,本文介紹的就是這個問題的解決方案。2011-04-04一臺服務器部署兩個獨立的mysql數(shù)據(jù)庫操作實例
這篇文章主要給大家介紹了關于一臺服務器部署兩個獨立的mysql數(shù)據(jù)庫的相關資料,同一臺服務器裝兩個數(shù)據(jù)庫,可以通過虛擬化技術(shù)實現(xiàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-03-03