根據實際情況選擇相應版本的xtrabackup,我的mysql是5.7.24對應的xtrabackup版本為2.4.*
檢視xtrabackup版本(支援最低mysql版本)
接下來開始備份
一、備份
1、全備
xtrabackup --backup --target-dir=/mnt/data/all/ --user=root --password=123456 --socket=/tmp/mysqld.sock
--backup:表示該操作為備份操作
--target-dir:指定備份檔案的路徑
--user:備份的使用者
--password:該使用者的密碼
--socket:指定socket啟動檔案路徑
下圖表示備份完成(lsn從....37到....46)
2、基於全備進行增量備份
xtrabackup --backup --target-dir=/mnt/data/v1/ --incremental-basedir=/mnt/data/all/ --user=root --password=123456 --socket=/tmp/mysqld.sock
--incremental-basedir:表示在某個備份的基礎上進行增備
下圖表示備份完成
3、在第1次增備的基礎上進行增量備份
xtrabackup --backup --target-dir=/mnt/data/v2/ --incremental-basedir=/mnt/data/v1/ --user=root --password=123456 --socket=/tmp/mysqld.sock
二、準備恢復
在預恢復階段先不要進行回滾操作,只有在最後一次預恢復才需要進行回滾操作
1、預恢復全量備份
--prepare:表示還原,即恢復
下圖表示預恢復成功
2、將第一次增備載入至全備中
下圖表示增備載入到全備中成功
3、將第二次增備份同樣載入至全備中
xtrabackup --prepare --target-dir=/mnt/data/all/ --incremental-dir=/mnt/data/v2/
恢復階段:可以將全備理解成乙個集合,所有的增備都需要彙總到這個集合(全備)裡,才能進行完整的恢復操作
三、恢復
1、首先停掉mysql
2、情況mysql的資料目錄
3、恢復
xtrabackup --copy-back --target-dir=/mnt/data/all/
--copy-back:將備份的資料copy至資料目錄下(資料目錄請檢視my.cnf)
4、恢復後,需要將資料目錄下恢復的檔案重新賦予許可權
chown -r mysql.mysql /data/mysqldata/
5、啟動,並檢視是否恢復成功
ok,恢復成功
附:單錶/單庫備份
單錶:xtrabackup --backup --tables='jssdb.a' --target-dir=/mnt/data/2 --user=root --password=123456 --socket=/tmp/mysqld.sock
--tables:單引號中填寫databases.tables
單庫:trabackup --backup --databases=jssdb --target-dir=/mnt/data/2 --user=root --password=123456 --socket=/tmp/mysqld.sock
--databases:庫名(database)
Mysql資料備份演練 Xtrabackup
需求 公司內部的資料庫使用版本是mysql5.6.42,但是無任何備份,擔心資料庫奔潰或者磁碟損壞導致資料無法恢復,影響公司的業務,因此把mysql5.6綠色遷移到另外一台父親在另一台測試伺服器,並且建立測試資料庫,使用xtrabackup進行備份。mysql資料庫操作 遷移資料庫 scp rp p...
mysql物理熱備工具xtrabackup安裝過程
在安裝xtrabackup中遇到的問題蠻多的,這裡只簡單介紹一下我的安裝過程,不介紹xtrabackup使用方式,希望對有需要的朋友有所幫助。什麼是xtrabackup 資料庫的備份分為邏輯備份和物理備份。不太準確的簡單來說邏輯備份就是只把資料庫中的資料做備份,物理備份則是可以把資料庫中資料以物理塊...
MySQL學習之MySQL簡介
mysql 資料庫 database 可以想象成乙個資料夾,是儲存 組織資料表的乙個容器。含有欄位的檔案才是資料表,就想象成乙個excel 是某種有著特定型別的結構化清單。從技術上說,是行。事物的一系列典型特徵,一條記錄是進行操作的最小的單位,不可再分割。表記錄對應的標題 描述事物特徵的符號 資料庫...