安裝
繼Xtrabackup 介紹,本次來講解安裝和使用。
Xtrabackup的RPM包下載地址:
系統版本 | 官網剛下載地址 | 百度雲下載 |
---|---|---|
CentOS 6 | 官網下載地址 | 百度雲盤鏈接 提取碼:rxv5 |
CentOS 7 | 官網下載地址 | 百度雲盤鏈接 提取碼:mq97 |
上述的地址,如果官網地址失效,可下載最新版,百度雲盤中的版本為博客發布的時間,百度雲盤中也是從官網下載的,如不放心,可自行在官網中下載;
安裝環境
系統版本 | 內核版本 | IP地址 |
---|---|---|
Centos 7.5 | 4.18.9-1.el7.elrepo.x86_64 | 172.31.239.233 |
安裝具體操作如下:
[root@node src]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
# 下載好以后,需要依賴,使用yum本地安裝,解決依賴關系;
[root@node src]# yum localinstall percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
[root@node src]# xtrabackup -version
xtrabackup: recognized server arguments: --datadir=/var/lib/mysql
xtrabackup version 2.4.12 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 170eb8c)
[root@node src]# which xtrabackup
/bin/xtrabackup
可以看到已經安裝完成;
常用參數詳解
因
Xtrabackup
和innobackupex
工具的參數很多,這里介紹一些常用的和可能用到的一些參數,想要了解所有的參數詳解
請點擊: innobackupex 參數詳解 和 xtrabackup 參數詳解。
innobackupex 相關參數
--apply-log
通過應用同一目錄下的事務日志文件xtrabackup_logfile,在BACKUP-DIR目錄准備一個備份。頁建立一個新的事務日志文件。innoDB的配置是從innobackupex備份時建立的文件backup-my.cnf讀取。
--close-files
不保持文件被打開。默認備份時tablespace不關閉,但如果表空間很大並且不適合任何限制,有一個可選的方法是關閉不再訪問的文件。使用該選項會產生不一致的備份。
--compact
建立一個忽略耳機索引頁的簡潔備份。
--compress
建立一個innoDB數據文件的壓縮備份。它直接提交給xtrabackup的子進程
--compres-threads=#
並行壓縮的工作進場數量,它直接提交給xtrabackup的子進程
--compress-chunk-size=#
指定每個壓縮進程的內部工作緩沖區的尺寸,用字節來測量。它直接提交給xtrabackup的子進程
--copy-back
復制所有的備份到他們原來的位置
--databases=LIST
指定將要備份的數據庫列表。支持databasename.tablename格式,如果沒指定參數,則備份所有數據庫
--decompress
解壓所有以選項--compress備份的,結尾是.qp的文件。使用參數--parallel允許多個文件同時被解密和或解壓。
--decrypt=ENCRPYTION-ALGORITHM
解密用--encrpyt選項加密的以.xbcrypt結尾的文件。
--defaults-file=[my.cnf]
通過制定一個字符串來設置MySQL的默認選項
--defaults-extra-file=[my.cnf]
在從標准的默認文件中取值默認之前的額外文件。接收一個字符串作為選項
--defaults-group=GROUP-NAME
如果用了Mysqld_multi,可設置讀取配置文件的特定組
--encrypt=ENCRYPTION-ALGORITHM
該選項指引xtrabackup使用參數ENCRYPTION_ALGORITHM參數制定的算法,加密innoDB數據文件的備份,它直接指向子進程
--encrypt-key=ENCRYPTION_KEY
指示xtrabackup在備份時使用ENCRYPTION_KEY指定的key做--encrypt加密。它直接傳給子進程
--encrypt-key-file=ENCRYPTION_KEY_FILE
當用選項--encrpyt加密時使用存儲在ENCRYPTION_KEY_FILE里存儲的加密key
--encrypt-threads=#
指定並行加密的工作線程數。它直接傳給子進程
--encrypt-chunk-size=#
指定每個加密進程使用的內粗工作緩沖區的尺寸,以字節計算大小
--export
它用於導出單個表用於導入另一個server
--extra-lsndir=DIRECTORY
指定xtrabackup_checkpoints文件的保留目錄
--force-non-empty-directories
該參數使得選項--copy-back or --move-back選項傳輸文件到非空目錄。不存在的文件將被覆蓋。如果選項--copy-back or --move-back必須從備份目錄到一個已經存在的目標目錄,則將失敗
--galera-info
該選項在備份時建立包含本地節點狀態xtrabackup_galera_info文件。用於執行Percona-XtraDB-Cluster備份
--host=HOST
執行通過TCP/IP連接訪問數據庫的主機,它傳給mysql的子進程
--ibbackup=IBBACKUP-BINARY
接收字符串參數,它用來指定要使用的xtrabackup binary、
--include=REGEXP
指定一個正則表達式,用語匹配格式為databasename.tablename的表名稱,它傳遞給--tables選項
--incremental
建立一個增量備份,傳遞給xtrabackup的子進程。該參數可以和參數--incremental-lsn or --incremental-basedir配合使用。
--incremental-basedir=DIRECTORY
指定一個包換全庫備份的目錄作為增量備份的基礎數據庫
--incremental-dir=DIRECTORY
指定增量備份與全庫備份合並去建立一個新的全備份的目錄。
--incremental-lsn=LSN
指定增量備份將要開始的LSN,它替代選項--incremental-basedir
--kill-long-queries-timeout=SECONDS
該選項指定innobackupex在開始FLUSH TABLES WITH READ LOCK和殺掉這些阻礙他的查詢之間的時間的等待時間,以秒計算,默認為0,意味着innobackupex不嘗試殺任何查詢,
該選項需要process and super權限
--kill-long-query-type=all|select
指定解鎖全局鎖時將被殺掉的查詢類型,默認是all
--lock-wait-timeout=SECONDS
運行FLUSH TABLES WITH READ LOCK之前,innobackupex等待阻塞查詢的時間數(秒數)
--lock-wait-threashold=SECONDS
選項指定查詢運行時間閥值,當innobackupex發現長運行查詢伴隨着--lock-wait-timeout的一個非0值,
--lock-wait-query-type=all|update
指定innobackupex發出一個全局鎖之前什么類型的查詢允許完成
--lock-copy-interval=#
指定日志日志復制線程檢車完成的時間間隔,以毫秒計算
--move-back
移動之前的所有備份從一個備份目錄到他們的原始位置
--no-lock
不允許使用flush tables with read lock表鎖。如果你的所有表示INNODB並且你不關心二進制日志備份的位置。如果有任何DDL語句被執行或任何非INNODB表上的update操作,這個選項就不能使用
--notimestamp
把備份放在一個通過選項backup-root-dir指定的子目錄里
--no-version-check
禁止版本檢查
--parallel=NUMBER-OF-THREADS
該選項接收一個整數,xtarbackup子進程將用於同時備份文件的並發數。如果有多個.ibd文件可以並行,如果只有一個表空間文件,則該選項無效
--password=PASSWORD
指定連接到數據庫的賬戶密碼
--port=PORT
該選項指定通過TCP/IP連接到數據庫時所用的端口
--rebuild-indexes
只有用--apply-log選項時它才有效,當應用日志后使得xtrabackup重建所有的二級索引。一般用於准備簡約備份
--rebuild-threas=NUMBER-OF-THREADS
當一起使用選項--apply-log and --rebuild-indexes選項時才有用,使用后,當重建索引時,xtrabackup處理表空間時用一定數量的線程的並行模式
--redo-only
選項用於准備全庫備份和合並處最有一個備份外的所有增量備份。它強制xtrabackup忽略“rollback”階段只做“redo”.
--rsync
使用rsync工具優化本地文件傳輸。它讓xtrabackup使用rsync復制所有非innoDB文件,而不是使用多個cp
--safe-slave-backup
停止從SQL進程並等待啟動備份直到slave_open_temp_tables的值為0。如果沒有打開臨時表,備份會進行,否則SQL進程將啟動並直到沒有打開的臨時表時停止。如果slave_open_temp_tables在--
safe-slave-backup-timeout秒后沒有變成0,則備份會失敗。備份結束后,從SQL進程將重新啟動
--safe-slave-backup-timeout=SECONDS
--safe-slave-backup要等slave_open_temp_tables變成0的時間,默認為300秒
--scopt=SCP-OPTIONS
當參數--remost-host指定時傳遞給scp的參數
--slave-info
當備份一個復制從庫操作的時候用,它打印二進制日志的position和主庫的名字,它頁把這些信息寫入xtrabackup_slave_info文件作為一個CHANGE MASTER命令
--socket=SOCKET
指定連接到本地數據庫sever時使用的一個unix domain socket,它沒有修改的傳入mysql子進程
--sshopt=SSH-OPTIONS
當使用參數--remost-host時,使用ssh的命令行參數
--stream=STREMNAME
當使用流備份時使用的特定格式。備份將以特定格式傳到STDOUT。支持的格式為tar and xbstream
--tables-file=FILE
指定備份的表的列表,格式為database.tablename
--throttle=IOS
指定I/O操作的數量/秒。該參數只適用於備份階段。不適用於參數--apply-log,--copy-back
--tmpdir=DIRECTORY
在參數--stream使用時指定,是指臨時文件被存儲的位置
--use-memory=#
該參數只能和參數--apply-log配合使用,被用於xtrabackup做creash恢復時准備鎖使用的內存量(單位:字節)。也支持其他單位,如:1MB,1M,1GB,1G
--user=USER
指定連接到mysql時使用的用戶名
--version
顯示innobackupex的版本信息和版權等信息
--version-check
指定該選項后,innobackupex將在建立一個連接后,在備份階段執行一個版本檢查
xtrabackup相關參數
--apply-log-only
這個參數使在准備備份時,只執行重做階段,這對於增量備份非常重要。