1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      innobackupex備份及恢復(fù)測試簡析

      本文主要給大家介紹innobackupex備份及恢復(fù)測試簡析,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下主題內(nèi)容吧。

      創(chuàng)新互聯(lián)公司咨詢熱線:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域十載,包括成都廣告推廣等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為網(wǎng)站錦上添花。

      先看看innobackupex常用參數(shù)

      --compact        創(chuàng)建一個(gè)不包含第二索引(除了主鍵之外的索引)的備份
      --decompress        解壓之前所有以–compress參數(shù)備份出來的帶有.qp格式的備份文件,--parallel參數(shù)會(huì)允許同時(shí)解鎖或解壓多個(gè)文件。需要安裝qpress軟件。
      --defaults-file=[MY.CNF] 配置文件的路徑
      --incremental-basedir 以上一次全量或增量備份的路徑,作為增量備份的基礎(chǔ)。指定這個(gè)參數(shù)的同時(shí),應(yīng)該同樣指定--incremental參數(shù)
      --incremental 創(chuàng)建增量備份,當(dāng)指定這個(gè)參數(shù)的時(shí)候,應(yīng)該指定--incremental-lsn或--incremental-basedir參數(shù),否則將會(huì)備份到--incremental-basedir路徑
      --apply-log  在備份目錄下,通過應(yīng)用名稱為xtrabackup_logfile的交易日志文件來準(zhǔn)備備份。同時(shí),創(chuàng)建新的交易日志。
      --redo-only 當(dāng)準(zhǔn)備數(shù)據(jù)庫的全備或合并增量備份時(shí),需要指定這個(gè)參數(shù)。這個(gè)參數(shù)實(shí)際上執(zhí)行的是xtrabackup --apply-log-only,會(huì)讓xtrabackup跳過回滾節(jié)點(diǎn),只做“redo”步驟。當(dāng)數(shù)據(jù)庫需要應(yīng)用增量備份時(shí),需要指定這個(gè)參數(shù)。
      --incremental-dir=DIRECTORY 指定增量備份的目錄,需要搭配--incremental參數(shù)。
      --no-timestamp 這個(gè)參數(shù)會(huì)讓xtrabackup在備份的時(shí)候不創(chuàng)建帶有時(shí)間格式的子文件夾。當(dāng)指定了這個(gè)參數(shù),備份會(huì)直接創(chuàng)建在指定的備份目錄下
      --stream=STREAMNAME 指定流備份的格式。備份將會(huì)以指定格式輸出到STDOUT。目前支持的格式有tar 和 xbstream。如果指定了這個(gè)參數(shù),后面需要接tmpdir目錄作為處理流的一個(gè)中間目錄。
      --slave-info    當(dāng)備份一個(gè)作為復(fù)制環(huán)境的服務(wù)器時(shí),這個(gè)參數(shù)會(huì)自動(dòng)將CHANGE MASTER語句寫到備份中,在恢復(fù)備份后,不必執(zhí)行CHANGE MASTER語句。
      --tables-file=FILE        這個(gè)參數(shù)會(huì)接受一個(gè)字符串,這個(gè)字符串指定了一個(gè)文件,這個(gè)文件包含了要備份的表名,格式如database.table,一行一個(gè)。
      --use-memory=#        這個(gè)參數(shù)用于在準(zhǔn)備備份時(shí),xtrabackup執(zhí)行crash recovery所使用的內(nèi)存大小。這個(gè)參數(shù)僅和--apply-log搭配時(shí)才生效。

      更多innobackupex參數(shù)解釋,請參考官網(wǎng)

      https://www.percona.com/doc/percona-xtrabackup/LATEST/innobackupex/innobackupex_option_reference.html

      整個(gè)測試流程如下圖

      innobackupex 備份及恢復(fù)測試簡析

      下面開始我的備份&恢復(fù)測試

      1. 先看一下我的/etc/my.cnf設(shè)置。我選擇了binlog是row模式的,也就是“行”模式,而不是sql模式。binlog和datafile分開存放,方便后續(xù)的數(shù)據(jù)庫管理。

      binlog_format = row
      expire_logs_days = 7
      max_binlog_size = 100m
      binlog_cache_size = 4m
      max_binlog_cache_size = 512m
      character_set_server = utf8
      lower_case_table_names=1
      datadir=/data/MySQL
      log_bin=/data/mysql-binlog/mysql-bin
      server_id=101

      備份前,創(chuàng)建表

      test1        --innodb引擎
      test2        --innodb引擎
      testmyisam   --myisam引擎

      2. 數(shù)據(jù)庫全備份(innobackupex參數(shù)請參考)

      創(chuàng)建備份目錄

      mkdir /backup

      全庫備份

      innobackupex --defaults-file=/etc/my.cnf --user=root --password='Abcd234!' /backup/20180424/

      3. 全備份之后的操作

      a. 創(chuàng)建myisam存儲引擎的表testmyisam2

      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | test1          |
      | test2          |
      | testmyisam     |
      | testmyisam2    |
      +----------------+
      4 rows in set (0.00 sec)

      b. 刪除表test2

      mysql> drop table test2;
      Query OK, 0 rows affected (0.03 sec)
      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | test1          |
      | testmyisam     |
      | testmyisam2    |
      +----------------+
      3 rows in set (0.00 sec)

      4. innobackupex備份mysql的過程,就是文件的拷貝,在拷貝數(shù)據(jù)的過程中,數(shù)據(jù)會(huì)發(fā)生變化,所以備份出來的數(shù)據(jù)文件是不一致的。為了保證數(shù)據(jù)的一致性,需要應(yīng)用這段時(shí)間產(chǎn)生的binlog,才能做到備份數(shù)據(jù)文件的一致性。后續(xù)回復(fù)才能有效。

      使用--apply-log參數(shù)并指定帶時(shí)間的備份子目錄,進(jìn)行備份一致性合并。想要加快apply-log的進(jìn)程,推薦使用--use-memory參數(shù)。

      這個(gè)操作可以在任意機(jī)器上執(zhí)行準(zhǔn)備備份動(dòng)作,并不限定在備份的服務(wù)器上。

      innobackupex --defaults-file=/etc/my.cnf  --apply-log --user=root --password='Abcd1234!' /backup/20180424/2018-04-22_21-22-30/

      5. 恢復(fù)數(shù)據(jù)文件到mysql路徑下,恢復(fù)路徑取決于my.cnf中的datadir=/data/mysql 參數(shù)。

      需要先清空datadir=/data/mysql 路徑才能恢復(fù),不然會(huì)報(bào)錯(cuò)。默認(rèn)情況下,--copy-back是不會(huì)over write已經(jīng)存在的文件的,可以通過參數(shù)--force-non-empty-directories強(qiáng)制覆蓋

      停止mysql

      service mysqld stop

      清空mysql路徑(一定要慎重,建議是mv備份,而不是rm)

      rm -rf /data/mysql/*

      全庫恢復(fù)

      innobackupex --defaults-file=/etc/my.cnf  --copy-back /backup/20180424/2018-04-22_21-22-30/

      修改路徑權(quán)限

      chown mysql:mysql -R /data/mysql/

      啟動(dòng)mysql

      service mysqld start

      6. 當(dāng)前數(shù)據(jù)庫只是restore一個(gè)全備份,并沒有基于時(shí)間點(diǎn),恢復(fù)到當(dāng)前

      全背后恢復(fù)完成之后,查詢數(shù)據(jù)庫,可以看到test2表還沒有刪除,testmyisam2也沒有出現(xiàn)

      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | test1       |
      | test2       |
      | testmyisam      |
      +----------------+

      7. 首先要通過備份文件,查找上次備份完成,的binglog position位置,在備份文件路徑下的xtrabackup_binlog_info中記錄,這個(gè)position很重要,是后面恢復(fù)的關(guān)鍵。

      # cd /backup/20180424/2018-04-22_21-22-30/
      # cat  xtrabackup_binlog_info
        mysql-bin.000002        29388004

      8. 通過mysqlbinglog進(jìn)行recover

      mysqlbinlog --start-position=29388004  /data/mysql-binlog/mysql-bin.000002 | mysql -uroot -p'Abcd234!'

      9. 歸檔也恢復(fù)完成之后,再次查詢test2表已經(jīng)刪除,testmyisam2也出現(xiàn)了

      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | test1      |
      | testmyisam    |
      | testmyisam2    |
      +----------------+
      3 rows in set (0.00 sec)

      10.也可以根據(jù)position恢復(fù)到指定的時(shí)間點(diǎn)范圍(下面是full restore自后再次測試的步驟,不是接上一步恢復(fù)的。)

      查找position信息

      # mysqlbinlog --start-position=29388004  /data/mysql-binlog/mysql-bin.000002|grep "^# at"
      # at 4
      # at 29388004
      # at 29388069
      # at 29388304
      # at 29388369
      # at 29388487

      11. 指定范圍恢復(fù)

      mysqlbinlog --start-position=29388004 --stop-position=29388304 /data/mysql-binlog/mysql-bin.000002 | mysql -uroot -p'Abcd1234!'
      恢復(fù)完這段binlog,可以看到testmyisam2已經(jīng)出現(xiàn)了
      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | test1        |
      | test2        |
      | testmyisam     |
      | testmyisam2    |
      +----------------+
      4 rows in set (0.00 sec)

      12. 分段recover,有助于在人為錯(cuò)誤的數(shù)據(jù)找回

      mysqlbinlog --start-position=29388304 --stop-position=29388487 /data/mysql-binlog/mysql-bin.000002 | mysql -uroot -p'Abcd1234!'
      恢復(fù)這段binlog,可以看到test2已經(jīng)被刪除了
      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | test1       |
      | testmyisam    |
      | testmyisam2    |
      +----------------+

      總結(jié)

      a、對于完全恢復(fù),我們需要使用備份加binlog兩者結(jié)合的方式來實(shí)現(xiàn)

      b、在恢復(fù)期間,首先使用帶read-only的apply-log方式來prepare全備(在有增量備份需要合并的情況,沒有增量的情況,就不需要read-only)

      c、接下來使用帶read-only的apply-log方式來prepare增備,僅最后一個(gè)增備可以不用read-only

      d、停止原有實(shí)例,并copy-back后啟動(dòng)恢復(fù)后的實(shí)例

      e、從Innobakcupex備份信息中獲取最后的binlog日志及位置信息

      f、使用mysqlbinlog方式將日志追加到最新時(shí)刻

      看完以上關(guān)于innobackupex 備份及恢復(fù)測試簡析,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。                                        


      網(wǎng)站名稱:innobackupex備份及恢復(fù)測試簡析
      網(wǎng)站地址:http://www.ef60e0e.cn/article/pdegdi.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        东丽区| 武陟县| 中西区| 南漳县| 湟源县| 阿拉尔市| 竹山县| 丹东市| 武冈市| 梁平县| 巨鹿县| 日喀则市| 昌乐县| 昌吉市| 镇赉县| 毕节市| 隆林| 苍溪县| 巴青县| 施秉县| 志丹县| 美姑县| 隆回县| 肇源县| 宁城县| 囊谦县| 大同县| 西华县| 东乡县| 高雄县| 荥阳市| 遂川县| 巴塘县| 兴义市| 开阳县| 竹北市| 佛学| 桃园县| 繁昌县| 石泉县| 长葛市|