mysql中xtrabackup全量備份/增量備份及恢復(fù)
一、測(cè)試前準(zhǔn)備

mysql數(shù)據(jù)庫(kù)
| 端口 | 3306 |
| 數(shù)據(jù)文件目錄 | /data/mysql/3306/data |
| 安裝目錄 | /usr/lcoal/mysql |
| 配置文件 | /etc/my.cnf |
創(chuàng)建數(shù)據(jù)庫(kù)
testXtra
創(chuàng)建備份目錄
| 備份目錄 | /data/backup/ |
| 備份恢復(fù)數(shù)據(jù)文件目錄 | /data/mysql/3307/data |
| 備份恢復(fù)配置文件 | /etc/my_3307.cnf |
二、開(kāi)始測(cè)試
1、全量備份數(shù)據(jù)庫(kù)
命令:
xtrabackup --user=root --password=mysql --backup --parallel=10 --target-dir=/data/backup/full

2、全量備份恢復(fù)(先準(zhǔn)備,再恢復(fù))
(1)準(zhǔn)備
xtrabackup --prepare --use-memory=2G --target-dir=/data/backup/full


(2)恢復(fù)
恢復(fù)的機(jī)器必須有my.cnf配置文件,再配置文件中配置好datadir目錄即數(shù)據(jù)問(wèn)目錄,數(shù)據(jù)目錄也必須為空,若不為空則會(huì)報(bào)錯(cuò)。
測(cè)試在本機(jī)恢復(fù)
vi my_3307.cnf
[client]
socket=/data/mysql/3307/data/mysql.sock[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3307/data
user=mysql
port=3307
socket=/data/mysql/3307/data/mysql.sock
log_error=/data/mysql/3307/data/mysqld.err
log_timestamps=system
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/3307/data/mysqld.err
pid-file=/data/mysql/3307/data/mysqld.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
恢復(fù)命令
xtrabackup --defaults-file=/etc/my_3307.cnf --copy-back --parallel=10 --target-dir=/data/backup/full



(3)授權(quán)
chown -R mysql.mysql /data/mysql/3307/data
(4)啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例
mysqld_safe --defaults-file=/etc/my_3307.cnf &

(5)grep mysql

(6)查看備份文件

三、增量備份
1、先全量備份
xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/base

2、全量備份之后增加些數(shù)據(jù)

3、第一次增量備份
增量備份需要獲取全量備份的to_lsn。
(1)查看全量備份的to_lsn
cd /data/backup/base
cat xtrabackup_checkpoints

如上圖to_lsn=18374406
(2)第一次增量備份的命令
xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/inc4 --incremental-lsn=18374406


可以看到inc4是第一次增量備份生成的文件
(3)檢查下備份文件是否有新增的數(shù)據(jù)文件

可以看到test2表空間
4、第二次增量備份
(1)添加些數(shù)據(jù)

(2)查看第一次增量備份文件的to_lsn

(3)第二次增量備份的命令
xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/inc5 --incremental-lsn=18411278

5、增量備份恢復(fù)步驟
(1) 全量備份準(zhǔn)備
xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base

(2)第一次增量備份準(zhǔn)備
xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc4

(3)第二次增量備份準(zhǔn)備
xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc5

(4)修改配置文件
vi /etc/my_3307.cnf
[client]
socket=/data/mysql/3307/data/mysql.sock[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3307/data
user=mysql
port=3307
socket=/data/mysql/3307/data/mysql.sock
log_error=/data/mysql/3307/data/mysqld.err
log_timestamps=system
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/3307/data/mysqld.err
pid-file=/data/mysql/3307/data/mysqld.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
(5)恢復(fù)命令
xtrabackup --defaults-file=/etc/my_3307.cnf --copy-back --target-dir=/data/backup/base
(6)檢查備份的數(shù)據(jù)文件

可以看到第一次增量備份后新增的表空間被恢復(fù)了。
(7)啟動(dòng)備份的數(shù)據(jù)庫(kù)實(shí)例

(8)grep mysql

(9)登錄數(shù)據(jù)庫(kù)實(shí)例

到此這篇關(guān)于mysql中xtrabackup全量備份/增量備份及恢復(fù)的文章就介紹到這了,更多相關(guān)mysql xtrabackup全量備份/增量備份內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 安裝使用Percona XtraBackup來(lái)備份恢復(fù)MySQL的教程
- MySQL中使用innobackupex、xtrabackup進(jìn)行大數(shù)據(jù)的備份和還原教程
- 利用Xtrabackup工具備份及恢復(fù)(MySQL DBA的必備工具)
- 編寫(xiě)腳本令Xtrabackup對(duì)MySQL數(shù)據(jù)進(jìn)行備份的教程
- mysql xtrabackup 備份恢復(fù)實(shí)現(xiàn)分享
- MySQL數(shù)據(jù)xtrabackup物理備份的方式
- xtrabackup備份還原MySQL數(shù)據(jù)庫(kù)
- MySQL xtrabackup 物理備份原理解析
- 使用xtrabackup實(shí)現(xiàn)mysql備份
- MySQL使用Xtrabackup備份流程詳解
- MySQL物理備份之Percona XtraBackup的實(shí)現(xiàn)示例
相關(guān)文章
mysql把主鍵定義為自動(dòng)增長(zhǎng)標(biāo)識(shí)符類(lèi)型
這篇文章主要介紹了mysql中如何把主鍵定義為自動(dòng)增長(zhǎng)標(biāo)識(shí)符類(lèi)型,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-07-07
一篇文章徹底搞定MySQL中的JSON類(lèi)型(效率非???
這篇文章主要介紹了關(guān)于MySQL中JSON類(lèi)型的相關(guān)資料,MySQL?5.7.8引入JSON數(shù)據(jù)類(lèi)型,提供原生支持,相比字符類(lèi)型,具有優(yōu)勢(shì),JSON數(shù)據(jù)類(lèi)型對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,自動(dòng)將布爾類(lèi)型轉(zhuǎn)換為小寫(xiě),文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12
MySQL 8.2 Command Line Client打開(kāi)時(shí)一閃而過(guò)閃退問(wèn)題
MySQL8.2安裝成功后,發(fā)現(xiàn)打開(kāi)MySQL 8.0 Command Line Client時(shí)出現(xiàn)一閃而過(guò),打不開(kāi)的情況,所以下面這篇文章主要給大家介紹了關(guān)于MySQL 8.2 Command Line Client打開(kāi)時(shí)一閃而過(guò)閃退問(wèn)題的解決,需要的朋友可以參考下2024-01-01
Mysql使用大全 從基礎(chǔ)到存儲(chǔ)過(guò)程
看到園子里總結(jié)的Mysql用法,我覺(jué)得沒(méi)有我的全面,我的從登錄到高級(jí)的存儲(chǔ)過(guò)程都涉及到,這部分是我平常不會(huì)或是出現(xiàn)問(wèn)題都會(huì)拿來(lái)看,不過(guò)現(xiàn)在就和我一起來(lái)使用命令模式學(xué)習(xí)一下數(shù)據(jù)庫(kù)最基本的吧2012-05-05
mysql分配root賬號(hào)創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限的實(shí)現(xiàn)
root用戶通常具有所有的權(quán)限,本文主要介紹了mysql分配root賬號(hào)創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
64位Win10系統(tǒng)安裝Mysql5.7.11的方法(案例詳解)
小編在安裝64位Win10系統(tǒng)的mac book筆記本上用mysql-installer-community-5.7.11.0安裝Mysql5.7.11,在配置mysql server時(shí)老是卡住,報(bào)錯(cuò)。下面小編把安裝方法分享給大家,供大家參考2016-08-08

