innobackupex參數說明

1、備份:

  #常用參數
    --user:該選項表示備份賬號。
    --password:該選項表示備份的密碼。
    --port:該選項表示備份數據庫的端口。
    --host:該選項表示備份數據庫的地址。
    --socket:該選項表示mysql.sock所在位置,以便備份進程登錄mysql。
    --defaults-file:該選項指定了從哪個文件讀取MySQL配置,必須放在命令行第一個選項的位置。
    --databases:該選項接受的參數為數據名,如果要指定多個數據庫,彼此間需要以空格隔開;如:"db1 db2",同時,在指定某數據庫時,也可以只指定其中的某張表。  如:"mydatabase.mytable"。該選項對innodb引擎表無效,還是會備份所有innodb表。此外,此選項也可以接受一個文件為參數,文件中每一行為一個要備份的對象。

  #壓縮參數
    --compress:該選項表示壓縮innodb數據文件的備份。
    --compress-threads:該選項表示并行壓縮worker線程的數量。
    --compress-chunk-size:該選項表示每個壓縮線程worker buffer的大小,單位是字節,默認是64K。

  #加密參數
    --encrypt:該選項表示通過ENCRYPTION_ALGORITHM的算法加密innodb數據文件的備份,目前支持的算法有ASE128,AES192,AES256。
    --encrypt-key:該選項使用合適長度加密key,因為會記錄到命令行,所以不推薦使用。
    --encryption-key-file:該選項表示文件必須是一個簡單二進制或者文本文件,加密key可通過以下命令行命令生成:openssl rand -base64 24。
    --encrypt-threads:該選項表示并行加密的worker線程數量。
    --encrypt-chunk-size:該選項表示每個加密線程worker buffer的大小,單位是字節,默認是64K。

  #加密參數
    --encrypt:該選項表示通過ENCRYPTION_ALGORITHM的算法加密innodb數據文件的備份,目前支持的算法有ASE128,AES192,AES256。
    --encrypt-key:該選項使用合適長度加密key,因為會記錄到命令行,所以不推薦使用。
    --encryption-key-file:該選項表示文件必須是一個簡單二進制或者文本文件,加密key可通過以下命令行命令生成:openssl rand -base64 24。
    --encrypt-threads:該選項表示并行加密的worker線程數量。
    --encrypt-chunk-size:該選項表示每個加密線程worker buffer的大小,單位是字節,默認是64K。

  #增量備份參數
    --incremental:該選項表示創建一個增量備份,需要指定--incremental-basedir。
    --incremental-basedir:該選項表示接受了一個字符串參數指定含有full backup的目錄為增量備份的base目錄,與--incremental同時使用。
    --incremental-lsn:該選項表示指定增量備份的LSN,與--incremental選項一起使用。
    --incremental-dir:該選項表示增量備份的目錄。
    --incremental-force-scan:該選項表示創建一份增量備份時,強制掃描所有增量備份中的數據頁。
    --incremental-history-name:該選項表示存儲在PERCONA_SCHEMA.xtrabackup_history基于增量備份的歷史記錄的名字。Percona Xtrabackup搜索歷史表查找最近    (innodb_to_lsn)成功備份并且將to_lsn值作為增量備份啟動出事lsn.與innobackupex--incremental-history-uuid互斥。如果沒有檢測到有效的lsn,xtrabackup會返回error。
    --incremental-history-uuid:該選項表示存儲在percona_schema.xtrabackup_history基于增量備份的特定歷史記錄的UUID。

  #主從
    --slave-info:該選項表示對slave進行備份的時候使用,打印出master的名字和binlog pos,同樣將這些信息以change master的命令寫入xtrabackup_slave_info文件。可以通過基于這份備份啟動一個從庫。
    --safe-slave-backup:該選項表示為保證一致性復制狀態,這個選項停止SQL線程并且等到show status中的slave_open_temp_tables為0的時候開始備份,如果沒有打開臨時表,bakcup會立刻開始,否則SQL線程啟動或者關閉知道沒有打開的臨時表。如果slave_open_temp_tables在--safe-slave-backup-timeount(默認300秒)秒之后不為0,從庫sql線程會在備份完成的時候重啟。

    --include:該選項表示使用正則表達式匹配表的名字[db.tb],要求為其指定匹配要備份的表的完整名稱,即databasename.tablename。
    --tables-file:該選項表示指定含有表列表的文件,格式為database.table,該選項直接傳給--tables-file。
    --no-timestamp:該選項可以表示不要創建一個時間戳目錄來存儲備份,指定到自己想要的備份文件夾。
    --rsync:該選項表示通過rsync工具優化本地傳輸,當指定這個選項,innobackupex使用rsync拷貝非Innodb文件而替換cp,當有很多DB和表的時候會快很多,不能--stream一起使用。
    --stream:該選項表示流式備份的格式,backup完成之后以指定格式到STDOUT,目前只支持tar和xbstream。
    --ibbackup:該選項指定了使用哪個xtrabackup二進制程序。IBBACKUP-BINARY是運行percona xtrabackup的命令。這個選項適用于xtrbackup二進制不在你是搜索和工作目錄,如果指定了該選項,innoabackupex自動決定用的二進制程序。
    --kill-long-queries-timeout:該選項表示從開始執行FLUSH TABLES WITH READ LOCK到kill掉阻塞它的這些查詢之間等待的秒數。默認值為0,不會kill任何查詢,使用這個選項xtrabackup需要有Process和super權限。
    --kill-long-query-type:該選項表示kill的類型,默認是all,可選select。
    --ftwrl-wait-threshold:該選項表示檢測到長查詢,單位是秒,表示長查詢的閾值。
    --ftwrl-wait-query-type:該選項表示獲得全局鎖之前允許那種查詢完成,默認是ALL,可選update。
    --galera-info:該選項表示生成了包含創建備份時候本地節點狀態的文件xtrabackup_galera_info文件,該選項只適用于備份PXC。
    --defaults-extra-file:該選項指定了在標準defaults-file之前從哪個額外的文件讀取MySQL配置,必須在命令行的第一個選項的位置。一般用于存備份用戶的用戶名和密碼的配置文件。
    --defaults-group:該選項表示從配置文件讀取的組,innobakcupex多個實例部署時使用。
    --no-lock:該選項表示關閉FTWRL的表鎖,只有在所有表都是Innodb表并且不關心backup的binlog pos點,如果有任何DDL語句正在執行或者非InnoDB正在更新時(包括mysql庫下的表),都不應該使用這個選項,后果是導致備份數據不一致,如果考慮備份因為獲得鎖失敗,可以考慮--safe-slave-backup立刻停止復制線程。
    --tmpdir:該選項表示指定--stream的時候,指定臨時文件存在哪里,在streaming和拷貝到遠程server之前,事務日志首先存在臨時文件里。在 使用參數stream=tar備份的時候,你的xtrabackup_logfile可能會臨時放在/tmp目錄下,如果你備份的時候并發寫入較大的話 xtrabackup_logfile可能會很大(5G+),很可能會撐滿你的/tmp目錄,可以通過參數--tmpdir指定目錄來解決這個問題。
    --history:該選項表示percona server 的備份歷史記錄在percona_schema.xtrabackup_history表。 --close-files:該選項表示關閉不再訪問的文件句柄,當xtrabackup打開表空間通常并不關閉文件句柄目的是正確的處理DDL操作。如果表空間數量巨大,這是一種可以關閉不再訪問的文件句柄的方法。使用該選項有風險,會有產生不一致備份的可能。
    --compact:該選項表示創建一份沒有輔助索引的緊湊的備份。
    --throttle:該選項表示每秒IO操作的次數,只作用于bakcup階段有效。apply-log和--copy-back不生效不要一起用。

2、prepare:

  innobackupex --apply-log [--use-memory=B]
              [--defaults-file=MY.CNF]
              [--export] [--redo-only] [--ibbackup=IBBACKUP-BINARY]
              BACKUP-DIR

  --apply-log:該選項表示同xtrabackup的--prepare參數,一般情況下,在備份完成后,數據尚且不能用于恢復操作,因為備份的數據中可能會包含尚未提交的事務或已經提交但尚未同步至數據文件中的事務。因此,此時數據 文件仍處理不一致狀態。--apply-log的作用是通過回滾未提交的事務及同步已經提交的事務至數據文件使數據文件處于一致性狀態。
  --use-memory:該選項表示和--apply-log選項一起使用,prepare 備份的時候,xtrabackup做crash recovery分配的內存大小,單位字節。也可(1MB,1M,1G,1GB),推薦1G。
  --defaults-file:該選項指定了從哪個文件讀取MySQL配置,必須放在命令行第一個選項的位置。
  --export:這個選項表示開啟可導出單獨的表之后再導入其他Mysql中。
  --redo-only:這個選項在prepare base full backup,往其中merge增量備份(但不包括最后一個)時候使用。

3、解壓解密:

  innobackupex [--decompress] [--decrypt=ENCRYPTION-ALGORITHM]
                [--encrypt-key=LITERAL-ENCRYPTION-KEY] | [--encryption-key-file=MY.KEY]
                [--parallel=NUMBER-OF-FORKS] BACKUP-DIR

  --decompress:該選項表示解壓--compress選項壓縮的文件。
  --parallel:該選項表示允許多個文件同時解壓。為了解壓,qpress工具必須有安裝并且訪問這個文件的權限。這個進程將在同一個位置移除原來的壓縮/加密文件。
  --decrypt:該選項表示解密通過--encrypt選項加密的.xbcrypt文件。

4、還原

  innobackupex --copy-back [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME] BACKUP-DIR
  innobackupex --move-back [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME] BACKUP-DIR

  --copy-back:做數據恢復時將備份數據文件拷貝到MySQL服務器的datadir。
  --move-back:這個選項與--copy-back相似,唯一的區別是它不拷貝文件,而是移動文件到目的地。這個選項移除backup文件,用時候必須小心。使用場景:沒有足夠的磁盤空間同事保留數據文件和Backup副本

  注意:
    1.datadir目錄必須為空。除非指定innobackupex --force-non-empty-directorires選項指定,否則--copy-backup選項不會覆蓋
    2.在restore之前,必須shutdown MySQL實例,你不能將一個運行中的實例restore到datadir目錄中
    3.由于文件屬性會被保留,大部分情況下你需要在啟動實例之前將文件的屬主改為mysql,這些文件將屬于創建備份的用戶
     ? chown -R mysql:mysql /data1/dbrestore
    以上需要在用戶調用Innobackupex之前完成
  --force-non-empty-directories:指定該參數時候,使得innobackupex --copy-back或--move-back選項轉移文件到非空目錄,已存在的文件不會被覆蓋。如果--copy-back和--move-back文件需要從備份目錄拷貝一個在datadir已經存在的文件,會報錯失敗。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535329.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535329.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535329.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

innobackupex遠程備份腳本

#!/bin/sh #備份主機 remote_ip10.2.142.161 Master_ip10.2.142.148 VIP103.2.132.136 #備份用戶 userroot #密碼 password123456 # 返回年月日 backup_datedate %F # 返回時分秒 backup_timedate %H-%M-%S # 返回今天是這周的第幾天 backup_week_daydate %u backup_ok0 #備份目…

MySQL管理利器 MySQL Utilities---mysqlreplicate

mysqlreplicate 工具是在兩臺服務器間設置和啟動復制。用戶提供登錄從服務器信息和連接到主的信息。也可以指定一個數據庫用于測試復制。 該工具報告條件是當主和從的存儲引擎不一樣時。如果主和從的存儲引擎不同將產生告警信息。對于Innodb存儲引擎而言,必需完全…

MySQL管理工具MySQL Utilities — 如何連接MySQL服務器

連接參數 連接到一個服務器,必須指定連接參數,如用戶名,主機名稱,密碼,端口號,socket。MySQL Utilities提供了三種提供這些參數的方法,這些方法都需要通過命令行指定。 使用.mylogin.cnf文件&…

MHA高可用

manager 組件 masterha_manger # 啟動MHA masterha_check_ssh # 檢查MHA的SSH配置狀況 masterha_check_repl # 檢查MySQL復制狀況,配置信息 masterha_master_monitor # 檢測master是否宕機 masterha_check_status # 檢測當…

MySQL Replication需要注意的問題

主庫意外宕機 如果沒有設置主庫的sync_binlog選項,就可能在奔潰前沒有將最后的幾個二進制日志事件刷新到磁盤中。備庫I/O線程因此也可一直處于讀不到尚未寫入磁盤的事件的狀態中。當主庫從新啟動時,備庫將重連到主庫并再次嘗試去讀該事件,但…

update和delete操作忘加where條件導致全表更新的處理方法

在數據庫日常維護中,開發人員是最讓人頭痛的,很多時候都會由于SQL語句寫的有問題導致服務器出問題,導致資源耗盡。最危險的操作就是在做DML操作的時候忘加where條件,導致全表更新,這是作為運維或者DBA的我們改如何處理…

Innodb結構

從MySQL5.5版本開始默認使用InnoDB作為引擎,它擅長處理事務,具有自動崩滿恢復的特性,在日常開發中使用非常廣泛,下面是言方的InnoDB引擎美構圖,主要分為內存結構和磁盤結構兩大部分。 內存結構主要包括Buffer Pool、C…

ES備份工具elasticdump

安裝 下載node下載 | Node.js 中文網 tar xvf node-v16.5.0-linux-x64.tar.xz ln -s /app/temp/node-v16.5.0-linux-x64/bin/node /usr/bin/node ln -s /app/temp/node-v16.5.0-linux-x64/bin/npm /usr/bin/npm npm install elasticdump -g npm config get cache npm in…

innodb_flush_method理解【轉】

innodb_flush_method這個參數控制著innodb數據文件及redo log的打開、刷寫模式,對于這個參數,文檔上是這樣描述的: 有三個值:fdatasync(默認),O_DSYNC,O_DIRECT 默認是fdatasync,調用fsync()去…

linux下的/dev/shm/

首先可以看出來/dev/shm是一個設備文件, 可以把/dev/shm看作是系統內存的入口, 可以把它看做是一塊物理存儲設備,一個tmp filesystem, 你可以通過這個設備向內存中讀寫文件, 以加快某些I/O高的操作,比如對一個大型文件頻繁的open, write, read&#xff0…

2021-07-30

1.服務器級別的鎖等待 可以通過show processlist看到等待鎖的線程id,但是無法知道究竟哪個線程持有鎖 可以通過mysqladmin debug 相關等待鎖的線程以及誰持有鎖可以在錯誤日志中找到 2.存儲引擎層的鎖等待則比較麻煩,以下是innodb存儲引擎中鎖等待以及…

getopt設計shell腳本選項

寫shell腳本的時候,通過while、case、shift來設計腳本的命令行選項是一件比較麻煩的事,因為Unix命令行的選項和參數自由度很高,支持短選項和長選項,參數可能是可選的,選項順序可能是無所謂的,等等。 bash下…

percona-toolkit---pt-heartbeat

對于MySQL數據庫主從復制延遲的監控,可以借助percona的有力武器pt-heartbeat來實現。 pt-heartbeat的工作原理通過使用時間戳方式在主庫上更新特定表,然后在從庫上讀取被更新的時間戳然后與本地系統時間對比來得出其延遲。具體流程: 1&…

定時刪除腳本

#!/bin/sh backup_dir/data/xtrabackup DATEdate %Y-%m-%d #DATE_NOWdate %Y-%m-%d.%H%M DATE_NOWdate %Y-%m-%d PATH/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATHbinog保留7天 binlog/data/binlogserver binlog_Rtime7#備…

percona-toolkit--pt-table-checksum

pt-table-checksum 是 Percona-Toolkit的組件之一,用于檢測MySQL主、從庫的數據是否一致。其原理是在主庫執行基于statement的sql語句來生成主庫數據塊的checksum,把相同的sql語句傳遞到從庫執行,并在從庫上計算相同數據塊的checksum&#xf…

Docker容器間網絡通信

自從Docker容器出現以來,容器網絡通信就一直是被關注的焦點,也是生產環境的迫切需求。容器網絡通信又分為兩大方面:單主機容器上的相互通信,和跨主機的容器相互通信。 一、Docker單主機容器通信 基于對net namespace的控制&#…

Docker容器的重啟策略

1. Docker容器的重啟策略 Docker容器的重啟策略是面向生產環境的一個啟動策略,在開發過程中可以忽略該策略。 Docker容器的重啟都是由Docker守護進程完成的,因此與守護進程息息相關。 Docker容器的重啟策略如下: no,默認策略&…

innobackupex實現導出和導入單張表

默認情況下,InnoDB表不能通過直接復制表文件的方式在mysql服務器之間進行移植,即便使用了innodb_file_per_table選項。而使用Xtrabackup工具可以實現此種功能,不過只能"導出"具有.ibd文件的表,也就是說導出表的mysql服務…

xtrabackup工具

(1).備份過程 和innobackupex備份過程不同的是,xtrabackup的備份路徑是由"--target-dir"選項嚴格指定的,如果指定的目錄不存在,它備份的時候不會在target-dir目錄中再創建時間戳子目錄。 [rootxuexi data]# xtrabackup --backup …

mysql數據庫參數

注意:在配置binlog相關變量的時候,相關變量名總是搞混,因為有的是binlog,有的是log_bin,當他們分開的時候,log在前,當它們一起的時候,bin在前。在配置文件中也同樣如此。 log_bin …