Percona XtraBackup(簡稱PXB)是最常用的MySQL物理熱備工具之一,并且是完全開源的。軟件安裝好后,bin目錄下的文件如下所示:(版本為2.4.9)
在2.3版本之后,xtrabackup可同時用來備份innodb表和非innodb表,且會與mysqld server進行交互,如加讀鎖(FTWRL)、獲取位點(SHOW SLAVE STATUS)等;
Innobackupex是作為xtrabackup的軟連接;
xbcrypt是用來加密或解密;
xbstream是Percona實現的用于將備份輸出格式轉換為流文件的格式。
將xtrabackup.tar.gz安裝包和qpress文件上傳到/opt目錄下并解壓,然后設置軟連接即可使用。
ln -s /opt/xtrabackup/bin/xtrabackup /usr/bin/innobackupex
ln -s /opt/xtrabackup/bin/xtrabackup /usr/bin/xtrabackup
ln -s /opt/xtrabackup/bin/xbstream /usr/bin/xbstream
cp /opt/qpress /usr/bin/ (qpress屬主為root用戶,權限為755)
--defaults-file # 指定配置文件,這個參數要放在第一位
--socket # 指定socket文件
-u # 指定用戶名
-p # 指定密碼
--compress # 啟用壓縮
--compress-threads =3 # 指定同時壓縮的線程數量
--compress-chunk-size=1024K # 指定壓縮的緩沖區大小
--parallel=8 # 指定啟動并發備份線程的數量(一個數 據文件只會有一個進程完成備份)
--slave-info # 打印出master的名字和位點信息,并記錄到 xtrabackup_slave_info文件中
--stream=tar,xbstream # 指定流備份格式
Xtrabackup的stream參數可以實現將備份以指定的tar或stream格式輸出到STDOUT(標準輸出),基于此,可以使用管道符和其他程序來過濾備份的輸出,為備份的存儲提供更大的靈活性。
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --stream=tar /tmp > /data/DBbackup/master01/master_tar.tar
注:“/tmp”是流備份產生的臨時文件存儲的路徑。
當使用tar格式的流備份時,直接使用“--compress”參數來進行壓縮會提示不兼容報錯,報錯截圖如下所示:
此時可以使用管道符和Linux環境下的壓縮命令來完成壓縮,命令如下:
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --stream=tar /tmp | gzip - > /data/DBbackup/master01/master_gzip.tar.gz
可以比較一下壓縮后備份文件的大小:
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --compress --compress-threads=3 --parallel=8 --stream=xbstream /tmp > /data/DBbackup/master01/master_xbstream.xbstream
查看備份文件大小:
從歸檔文件中提取備份:
xbstream -x < master_xbstream.xbstream -C /data/DBbackup/master01
可以使用管道符搭配SSH命令,將備份數據流傳輸到遠程主機,命令如下:
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --compress --compress-threads=3 --parallel=8 --stream=xbstream /tmp | ssh mysql@10.10.1.128 "cat - > /data/master01/master_remote.xbstream"
登錄遠程主機,查看備份文件:
更多精彩干貨分享
點擊下方名片關注
IT那活兒
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129849.html
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1860·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20