mysql備份學習筆記及xtrabackup安裝

(參考書籍:《深刻淺出MySQL》)mysql

1、備份恢復策略c++

a)      肯定要備份的表的存儲引擎是事務型仍是非事務型sql

b)      肯定使用全備份仍是增量備份數據庫

c)      按期作備份,備份的週期須要充分考慮系統可承受恢復時間bootstrap

d)      確保MySQL打開log-bin選項,有了BINLOG,MySQL才能夠在必要的時候作完整恢復,或基於時間點的恢復,或基於位置的恢復工具

2、備份es5

a)      備份指定的數據庫或者此數據庫中的某些表插件

                 i.          mysqldump [options] db_name [tables]rest

b)      備份指定的一個或多個數據庫日誌

                 i.          mysqldump [options] --databases DB1 [DB2 DB3 ...]

c)      備份全部數據庫

                 i.          mysqldump [options] --all-database

3、恢復

一、 徹底恢復

mysql -uroot -p dbname<bakfile

mysqlbinlog binlog-file|mysql -u root -p***(備份後數據不完整將備份後執行的日誌進行重作)

二、 基於時間點恢復(不徹底恢復)

a)      上午10點發生誤操做,用備份和binlog將數據恢復到故障前

mysqlbinlog –stop-date=」2005-04-20 9:59:59」 /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

b)      跳過故障時的時間點,繼續執行後面的BINLOG,完成恢復

mysqlbinlog --start-date=」2015-04-20 10:01:00」 /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

三、 基於位置恢復

a)      在/tmp目錄建立小的文本文件,編輯此文件,找到出錯語句先後的位置號,例如先後位置號分別是368312和368315

mysqldump --start-date=」2005-04-20 9:55:00」 --stop-date=」2005-04-20 10:05:00」 /var/log/bin.123456 > /tmp/mysql_restore.sql

b)      mysqlbinlog --stop-position=」368312」 /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

mysqlbinlog --start-position=」368315」 /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

4、Xtrabackup熱備工具

InnoDB在線熱備工具,具備開源、免費、支持在線熱備、備份恢復速度快、佔用磁盤空間小等特色,支持不一樣狀況下的多種備份形式。

包含兩個主要的工具,即xtrabackup和innobackupex,主要區別:

       xtrabackup只能備份InnoDB和XtraDB兩種數據表,而不能備份MyISAM數據表;innobackupex是一個封裝了xtrabackup的Perl腳本,支持同時備份InnoDB和MyISAM,但在對MyISAM備份時須要加一個全局的讀鎖。

5、備份操做記錄

       --xtrabackup安裝

       --下載安裝xtrabackup(2.4.4)(/usr/local/software/ percona-xtrabackup-2.4.4.tar.gz)

       wget http://...

      

       --解壓縮xtrabackup安裝包

       tar zxvf percona-xtrabackup-2.4.4.tar.gz

      

       --移動重命名

       mv percona-xtrabackup-2.4.4 /usr/local/xtrabackup

      

       --安裝依賴插件

       yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses5-devel

 

       --cmake編譯

       cmake -DBUILD_CONFIG=xtrabackup_release && make -j4

 

       --安裝

       make install

 

       --連接bin到系統目錄

       ln -sf /usr/local/xtrabackup/bin/innobackupex /usr/bin/

       ln -sf /usr/local/xtrabackup/bin/xtrabackup /usr/bin/

========================================

       --cmake編譯過程當中錯誤:

       --安裝boost(/usr/local/software/boost_1_59_0.tar.gz)

       wget http://...

       tar zxvf boost_1_59_0.tar.gz

       mv boost_1_59_0 /usr/local/boost

       cd /usr/local/boost

    ./bootstrap.sh

    ./b2 install --perfix=dir

 

       --安裝libev(/usr/local/software/libev-4.24.tar.gz)

       wget http://...

       tar zxvf libev-4.24.tar.gz

       mv libev-4.24 /usr/local/libev

       ./configure

       make

       make install

 

       --安裝crypt

       yum install crypt*

       yum install libgcrypt*

==========================================

       --mysql啓動bin-log

       --/etc/my.cnf配置文件中

       log_bin=mysql-bin

       server-id=1

相關文章
相關標籤/搜索