XtraBackup線上進行MySQL的主從部署一

來源:互聯網
上載者:User

XtraBackup線上進行MySQL的主從部署一

【前言】MySQL的主從部署的方法有很多種,最常見的方法就是用mysqldump的方式進行,眾所周知mysqldump方式構建主從的方法有兩個很大的缺點:

1、主庫需要鎖表,這就意味著這期間主庫不能做修改的操作(在做匯出的時候需要停止相關的介面和應用,對於一些小公司可能沒影響,但如果是電商平台,就是相當於停止服務;

2、當資料量較小的時候mysqldump的方法是很快的,但是當資料量超過20G的時候,整個過程就相當的慢。曾經用這種方法導一個70G的資料庫,在使用的是高端儲存的情況下,匯出花費了50分鐘。

Percona提供了xtrabackup開源備份工具,可以快速且無鎖表地進行mysql的備份並且記錄相應的log資訊,特點如下:
•備份過程快速、可靠;
•備份過程不會打斷正在執行的事務;
•能夠基於壓縮等功能節約磁碟空間和流量;
•自動實現備份檢驗;
•還原速度快;

本文檔介紹通過xtrabackup進行搭建mysql的主從資料庫;

【一】軟體的安裝

1.1 https://www.percona.com/downloads/XtraBackup/

當前的版本已更新到2.2.11;

1.2 軟體的安裝

下載相應的rpm包後,運行:rpm -ivh percona-xtrabackup-2.2.11-1.el6.x86_64.rpm 

[root@OTO-DB-T02 share]#  rpm -ql  percona-xtrabackup
/usr/bin/innobackupex
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup
 

1.3 軟體的介紹

XtraBackup中主要包含了三個工具

xtrabackup:支援innodb儲存引擎表,xtradb儲存引擎表

innobackupex:支援innodb儲存引擎表、xtradb儲存引擎表、myisam儲存引擎表。

xbstream:流備份工具,用於減少備份和傳輸過程中的IO()
 

1.4 配置datadir參數

[root@OTO-DB-T02 backup]#  more /etc/my.cnf |grep datadir
datadir=/data/mysql   

註:當datadir參數沒有配置時還原的時候會報如下錯誤

innobackupex: got a fatal error with the following stacktrace: at /usr/bin/innobackupex line 2510
    main::copy_back(0) called at /usr/bin/innobackupex line 1570
innobackupex: Error: Backup data file '/data/backup/2015-06-15_14-06-59/ibdata1' does not exist. at /usr/bin/innobackupex line 2510.
 

【二】 工具的使用

[root@OTO-DB-T02 backup]# innobackupex  --help
Options:
    --apply-log
        Prepare a backup in BACKUP-DIR by applying the transaction log file
        named "xtrabackup_logfile" located in the same directory. Also,
        create new transaction logs. The InnoDB configuration is read from
        the file "backup-my.cnf".

    --backup-locks
        This option controls if backup locks should be used instead of FLUSH
        TABLES WITH READ LOCK on the backup stage. The option has no effect
        when backup locks are not supported by the server. This option is
        enabled by default, disable with --no-backup-locks.

    --close-files
        Do not keep files opened. This option is passed directly to
        xtrabackup. Use at your own risk.

    --compact
        Create a compact backup with all secondary index pages omitted. This
        option is passed directly to xtrabackup. See xtrabackup
        documentation for details.

    --compress
        This option instructs xtrabackup to compress backup copies of InnoDB
        data files. It is passed directly to the xtrabackup child process.
        Try 'xtrabackup --help' for more details.
 

2.1的完整備份及還原過程

步驟一:進行資料庫的完整備份

innobackupex --defaults-file=/etc/my.cnf  --user=root    --password='123456'  /data/backup

2.2 InnoDB備份,使備份可用

innobackupex  --user=root    --password='123456'    --apply-log  /data/backup/2015-06-15_14-57-24  (步驟一備份完成後會產生2015-06-15_14-57-24目錄)

說明:第一步備份相當於備份當前資料庫的資料檔案,但是備份期間系統的變更這個過程是不能備份的。所以要進行步驟二的備份,這個步驟可用記錄在備份步驟一系統進行的所有變更。這樣在進行恢複的過程會累加步驟一和步驟二的備份形成一個完整的備份;

2.3 資料庫的還原

innobackupex    --defaults-file=/etc/my.cnf  --user=root    --password='123456'  --copy-back  /data/xtrabackup/2015-02-01_08-30-13/

2.4 檔案的授權

chown –R mysql:mysql /data/mysql

2.5 啟動資料庫

service mysqld start;啟動資料庫

2.6 根據/data/mysql下面的資訊串連主庫

[root@OTO-DB-T02 mysql]# cat xtrabackup_binlog_pos_innodb
./mysql-bin.000027    17645

MySQL管理之使用XtraBackup進行熱備

MySQL開源備份工具Xtrabackup備份部署

MySQL Xtrabackup備份和恢複

用XtraBackup實現MySQL的主從複製快速部署【主不鎖表】

安裝和使用 Percona 推出的 Xtrabackup 備份 MySQL

XtraBackup 的詳細介紹:請點這裡
XtraBackup 的:請點這裡

本文永久更新連結地址:

相關文章

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.