使用innobackupex基於從函式庫建立mysql主從架構

黄舟
發布: 2017-02-15 10:43:20
原創
1589 人瀏覽過



       MySQL的主從搭建大家有很多種方式,傳統的mysqldump方式是許多人的選擇之一。但對於較大的資料庫則該方式並非理想的選擇。使用Xtrabackup可以快速輕鬆的建置或修復mysql主從架構。本文描述了基於現有的從函式庫來快速建構主從,即作為原主庫的新從函式庫。該方式的好處是對主庫無需備份期間導致的相關效能壓力。搭建過程中使用了快速流備份方式來加速主從建置以及描述了加速串流備份的幾個參數,供大家參考。


    有關串流備份可以參考:Xtrabackup 串流備份與恢復

#

Xtrabackup使用了等效性驗證,因此應先作對應配置,這裡我們使用的是mysql用戶

$ innobackupex --user=root --password=xxx --slave-info --safe-slave-backup 
\--compress-threads=3 --parallel=3 --stream=xbstream \--compress /log | ssh -p50021 mysql@172.16.16.10 "xbstream -x -C /log/recover"
登入後複製


##SQLthup停止,完成後啟動

$ mysql -uroot -p -e "show slave status \G"|egrep 'Slave_IO_Running|Slave_SQL_Running'
Enter password: 
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
登入後複製



##my.my.33535



2、主庫授予新從庫複製帳戶

$ scp -P50021 /etc/my.cnf mysql@172.16.16.10:/log/recover
登入後複製

 使用了串流壓縮備份,因此需要先解壓

###下載網址 

http://www.php.cn/

master@MySQL> grant replication slave,replication client on *.* to repl@'172.16.%.%' identified by 'repl';
登入後複製


# tar -xvf qpress-11-linux-x64.tar qpress# cp qpress /usr/bin/
$ innobackupex --decompress /log/recover                               
###解压$ innobackupex --apply-log --use-memory=2G /log/recover    
###prepare备份
登入後複製


skip-slave-start
datadir = /log/recover
port = 3307
server_id = 24                     
socket = /tmp/mysql3307.sock
pid-file=/log/recover/mysql3307.pid
log_error=/log/recover/recover.err
登入後複製
4、準備從庫設定檔my.cnf



####依需求修改對應參數,這裡的修改如下,

修改change master# chown -R mysql:mysql /log/recover# /app/soft/mysql/bin/mysqld_safe --defaults-file=/log/recover/my.cnf &

mysql> system more /log/recover/xtrabackup_slave_info
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000658', MASTER_LOG_POS=925384099
mysql> CHANGE MASTER TO
    -> MASTER_HOST='172.16.16.10',       
### Author: Leshami
    -> MASTER_USER='repl',                    
 ### Blog  : 
http://www.php.cn/
    -> MASTER_PASSWORD='repl',
    -> MASTER_PORT=3306,
    -> MASTER_LOG_FILE='mysql-bin.000658',
    -> MASTER_LOG_POS=925384099;
Query OK, 0 rows affected, 2 warnings (0.31 sec)
登入後複製
mysql> start slave;Query OK, 0 rows affected (0.02 sec)
🜎
The --slave-info option This option is useful when backing up a replication slave server. It prints the binary
log position and name of the master server. It also writes this information to the xtrabackup_slave_info file
as a CHANGE MASTER statement.
This is useful for setting up a new slave for this master can be set up by starting a slave server on this backup and
issuing the statement saved in the xtrabackup_slave_info file.
登入後複製




Warning: Make sure your slave

Warning: Make sure your slave
Warning: Make sure your slave

slave y s. validate a slave is pt- table-checksum.



--compress

    

The --safe-slave-backup option In order to assure a consistent replication state, this option stops the slave
SQL thread and wait to start backing up until Slave_open_temp_tables in SHOW STATUS is zero. If there are
no open temporary tables, the backup will take place, otherwise the SQL thread will be started and stopped until there
are no open temporary tables. The backup will fail if Slave_open_temp_tables does not become zero after
--safe-slave-backup-timeout seconds (defaults to 300 seconds). The slave SQL thread will be restarted
when the backup finishes.
Using this option is always recommended when taking backups from a slave server.
登入後複製


--compress-threads

   This option specifies the number of worker threads that will be used
        for parallel compression. It is passed directly to the xtrabackup
        child process. Try 'xtrabackup --help' for more details.
登入後複製



--decompress

   Decompresses all files with the .qp extension in a backup previously
        made with the --compress option.
登入後複製



--parallel=NUMBER-OF-THREADS

   On backup, this option specifies the number of threads the        
   xtrabackup child process should use to back up files concurrently.        
   The option accepts an integer argument. It is passed directly to        
   xtrabackup's --parallel option. See the xtrabackup documentation for        
   details.
        On --decrypt or --decompress it specifies the number of parallel       
         forks that should be used to process the backup files.
登入後複製


以上就是使用innobackupex基于从库搭建mysql主从架构的内容,更多相关内容请关注PHP中文网(www.php.cn)!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!