mysql之Xtrabackup備份及增量備份

來源:互聯網
上載者:User

標籤:xtrabackup mysql備份 增量備份

Xtrabackup 是由percona提供的mysqlDatabase Backup工具,是一個開源的工具,能夠對innodb和xtradb資料庫進行熱備和增量備份,對於MyISAM, 僅支援到溫備,對MyISAM使用增量備份時,其實是完全備份。Xtrabackup使用簡單,功能強大。

官方地址:http://www.percona.com/software/percona-xtrabackup/
安裝:

percona-toolkit-2.2.17-1.noarch.rpmpercona-xtrabackup-2.2.9-5067.el6.x86_64.rpm[[email protected] tools]# yum localinstall percona-*

innobackupex運行條件: 需要MySQL服務處於運行狀態

如果要使用一個最小許可權的使用者進行備份,則可基於如下命令建立此類使用者:

mysql> create user ‘bkpuser‘@‘localhost‘ identified by ‘222222‘;mysql> grant reload,lock tables,replication client on *.* to ‘bkpuser‘@localhost;mysql> flush privileges;

一個簡單的完全備份及還原實現過程:

1.完全備份:

[[email protected] mydata]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   /mydata/mybackups/[[email protected] mybackups]# ls2016-05-24_17-12-47

2.準備一個完全還原備份:

[[email protected] mybackups]# innobackupex --apply-log  /mydata/mybackups/2016-05-24_17-12-47/......xtrabackup: starting shutdown with innodb_fast_shutdown = 1InnoDB: FTS optimize thread exiting.InnoDB: Starting shutdown...InnoDB: Shutdown completed; log sequence number 1653270160524 17:35:57  innobackupex: completed OK!

類比資料崩潰:

[[email protected] mybackups]# cd /mydata/mysql/data/[[email protected] data]# lsauto.cnf  ib_logfile0  ib_logfile1  ibdata1  martin  martin.err  mysql  performance_schema  test[[email protected] data]# rm -fr *

3.還原:

[[email protected] data]# innobackupex --copy-back /mydata/mybackups/2016-05-24_17-12-47/
/mydata/mysql/data[[email protected] data]# chown -R mysql.mysql *[[email protected] data]# service mysqld startStarting MySQL. SUCCESS! [[email protected] data]# lsauto.cnf     ib_logfile1  martin      martin.pid  performance_schema  xtrabackup_binlog_pos_innodbib_logfile0  ibdata1      martin.err  mysql       test                xtrabackup_info


下面實現增量備份過程:

一次完全備份,2次增量備份

[[email protected] mydata]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   /mydata/mybackups/[[email protected] mybackups]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   --incremental  /mydata/mybackups/ --incremental-basedir=2016-05-24_17-46-48/    #上一次#.......插入資料[[email protected] mybackups]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   --incremental  /mydata/mybackups/ --incremental-basedir=2016-05-24_17-53-02/

還原:

第一次的完全備份:

[[email protected] mybackups]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   --apply-log --redo-only   /mydata/mybackups/2016-05-24_17-46-48/

合并第一次增量:

[[email protected] mybackups]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   --apply-log --redo-only   /mydata/mybackups/2016-05-24_17-46-48/  --incremental-dir=/mydata/mybackups/2016-05-24_17-53-02/

合并第二次增量:

[[email protected] mybackups]# innobackupex --user=bkpuser --password=222222 --socket=/tmp/mysql.sock   --apply-log --redo-only   /mydata/mybackups/2016-05-24_17-46-48/  --incremental-dir=/mydata/mybackups/2016-05-24_18-04-24/

執行最後還原:

[[email protected] data]# innobackupex --copy-back /mydata/mybackups/2016-05-24_17-46-48/
[[email protected] data]# chown -R mysql.mysql *[[email protected] data]# lltotal 12308-rw-r--r-- 1 mysql mysql 12582912 May 24 18:14 ibdata1drwxr-xr-x 2 mysql mysql     4096 May 24 18:14 martindrwxr-xr-x 2 mysql mysql     4096 May 24 18:14 mysqldrwxr-xr-x 2 mysql mysql     4096 May 24 18:14 performance_schemadrwxr-xr-x 2 mysql mysql     4096 May 24 18:14 test-rw-r--r-- 1 mysql mysql      653 May 24 18:14 xtrabackup_info[[email protected] data]# /etc/init.d/mysqld startStarting MySQL. SUCCESS!
[[email protected] data]# cat /mydata/mysql/data/xtrabackup_info uuid = e65af8bc-2196-11e6-add0-000c294b9b35name = tool_name = innobackupextool_command = --user=bkpuser --password=... --socket=/tmp/mysql.sock --incremental /mydata/mybackups/ --incremental-basedir=2016-05-24_17-53-02/tool_version = 1.5.1-xtrabackupibbackup_version = xtrabackup version 2.2.9 based on MySQL server 5.6.22 Linux (x86_64) (revision id: )server_version = 5.6.30-logstart_time = 2016-05-24 18:04:24end_time = 2016-05-24 18:04:27lock_time = 1binlog_pos = filename ‘master-bin.000010‘, position 796innodb_from_lsn = 1653280innodb_to_lsn = 1653280partial = Nincremental = Yformat = filecompact = Ncompressed = Nencrypted = N

更新完畢  如果還有二進位中的檔案要繼續更新上去

[[email protected] log-bin]# mysqlbinlog --start-position=796    master-bin.000010>~/a.bin.sqlmysql> set session sql_log_bin=0;mysql> source ~/a.sqlmysql> source ~/a.bin.sqlmysql> set session sql_log_bin=1;


從完整資料中的可以看到合并到最後更新時間:

[[email protected] 2016-05-24_17-46-48]# cat xtrabackup_info uuid = e65af8bc-2196-11e6-add0-000c294b9b35name = tool_name = innobackupextool_command = --user=bkpuser --password=... --socket=/tmp/mysql.sock --incremental /mydata/mybackups/ --incremental-basedir=2016-05-24_17-53-02/tool_version = 1.5.1-xtrabackupibbackup_version = xtrabackup version 2.2.9 based on MySQL server 5.6.22 Linux (x86_64) (revision id: )server_version = 5.6.30-logstart_time = 2016-05-24 18:04:24end_time = 2016-05-24 18:04:27       #可以看到最後的增量備份時間lock_time = 1binlog_pos = filename ‘master-bin.000010‘, position 796innodb_from_lsn = 1653280innodb_to_lsn = 1653280partial = Nincremental = Yformat = filecompact = Ncompressed = N


mysql之Xtrabackup備份及增量備份

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.