使用Innobackupex快速搭建(修複)MySQL主從架構

來源:互聯網
上載者:User

使用Innobackupex快速搭建(修複)MySQL主從架構

MySQL的主從搭建大家有很多種方式,傳統的mysqldump方式是很多人的選擇之一。但對於較大的資料庫則該方式並非理想的選擇。使用Xtrabackup可以快速輕鬆的構建或修複mysql主從架構。本文描述了使用innobackupex快速來搭建或修複主從架構。供大家參考。

1、基於主庫做一個完整備份
# mkdir -p /log/bakforslave
# innobackupex --user=root -password=*** --socket=/tmp/mysql.sock \
--defaults-file=/etc/my.cnf /log/bakforslave --parallel=3 --safe-slave-backup --no-timestamp

2、複製資料庫到備機
# tar -czvf bakforslave.tar.gz ./bakforslave/
# scp bakforslave.tar.gz robin@172.16.10.51:~
# scp /etc/my.cnf robin@172.16.10.51:~/mymaster.cnf

3、在備機上恢複
###備機解壓打包的備份檔案
# mv /home/robin/bakforslave.tar.gz /data
# cd /data
# tar -xvf bakforslave.tar.gz

### prepare 備份
# innobackupex --user=root -password=*** --socket=/tmp/mysql.sock --defaults-file=/home/robin/mymaster.cnf \
 --apply-log --use-memory=4GB /data/bakforslave

###如果是修複從庫,從庫為啟動狀態應先停止從庫,再做如下操作,否則可以跳過
# service mysqld stop

###還原備份的資料檔案
# mv mysqldata mysqldatabk
# mv bakforslave mysqldata
# chown -R mysql:mysql mysqldata

###如果是新搭建的從庫,此時可以修改主庫的my.cnf為原生my.cnf,
###如果為修複,則可以直接使用原有的設定檔或根據需要修改。
# cp /home/robin/mymaster.cnf /etc/my.cnf
# vi /etc/my.cnf        ###此處應修改使用一個不同的server_id,同時可以根據需要修改相關路徑及連接埠配置等。
# service mysqld start  ###修改完畢後可以啟動mysqld

4、主庫授權用於複製的使用者
mysql> grant replication slave,replication client on *.* to repl2@'172.16.10.%' identified by '***';

### 驗證shell 提示符下登陸到主庫
# mysql -urepl2 -p -h172.16.10.88

5、啟動slave
# more /data/mysqldata/xtrabackup_binlog_info
mysql-bin.000136        73752825

mysql> CHANGE MASTER TO
MASTER_HOST='172.16.10.88',            --Author: Leshami
MASTER_USER='repl2',                  --Blog  : www.bkjia.com
MASTER_PASSWORD='***',
MASTER_LOG_FILE='mysql-bin.000136',
MASTER_LOG_POS=73752825;

mysql> start slave;

6、驗證結果
mysql> show slave status \G
*************************** 1. row ***************************
              Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.16.10.88
                  Master_User: repl2
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000136
          Read_Master_Log_Pos: 96592981
              Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 72113
        Relay_Master_Log_File: mysql-bin.000136
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: test,bs_com,bs_sysmsg,bs_bak
          Replicate_Ignore_DB: mysql
          Replicate_Do_Table:
      Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                  Last_Errno: 0
                  Last_Error:
                Skip_Counter: 0
          Exec_Master_Log_Pos: 73824655
              Relay_Log_Space: 22840613
              Until_Condition: None
              Until_Log_File:
                Until_Log_Pos: 0
          Master_SSL_Allowed: No
          Master_SSL_CA_File:
          Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
              Master_SSL_Key:
        Seconds_Behind_Master: 3815
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
              Last_SQL_Errno: 0
              Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
            Master_Server_Id: 2
                  Master_UUID: afd6bca4-6636-11e3-9d60-74867ae1c47c
            Master_Info_File: /data/mysqldata/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: updating
          Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
    Last_SQL_Error_Timestamp:
              Master_SSL_Crl:
          Master_SSL_Crlpath:
          Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
1 row in set (0.00 sec)

--------------------------------------分割線 --------------------------------------

Ubuntu下Nginx做負載實現高效能WEB伺服器5---MySQL主主同步

生產環境MySQL主主同步主鍵衝突處理

MySQL主從失敗 錯誤Got fatal error 1236

MySQL主從複製,單台伺服器上實施

搭建MySQLProxy 伺服器實現讀寫分離+主從同步

MySQL 5.5 主從雙向同步

MySQL 5.5主從同步排錯

MySQL主從複製非同步半同步執行個體

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.