Mysql 基於日誌點的主從複製(實操)

來源:互聯網
上載者:User

標籤:ast   尋找   ssl   lis   single   read   帳號   中繼日誌   問題   

實現環境:
  Master 主:192.168.100.165 (Mysql 5.6.36)
  Slave 從 :192.168.100.156 (Mysql 5.6.36)

步驟
1.在主DB伺服器上建立複製帳號 (在Master上執行)
  # mysql
  mysql> CREATE USER ‘rpl‘@‘192.168.100.%‘ identified by ‘123456‘;
  mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘192.168.100.%‘;

2.主伺服器配置 (在Master上執行)
  # vim /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306

    # binary logging #
    log-bin = /data/mysql/log-bin #啟動二進位日誌

    # replice #
    server_id = 165 #指定服務ID

3.從伺服器配置 (在Slave上執行)
  # vim /etc/my.cnf
    [mysqld]
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306

    # binary logging #
    log-bin = /data/mysql/mysql-bin #啟動二進位日誌

    # replice #
    server-id = 156 #指定服務ID
    relay_log = /data/mysql/relay-bin #啟動中繼日誌
    #log_slave_update = on #在中繼日誌執行後寫入到二進位日誌中
    #read_only = on #開啟唯讀模式

4.重啟主MYSQL (在Master上執行)
  # service mysqld restart
  # #添加一些測試資料用於驗證結果
  # mysql
  mysql> CREATE DATABASE CHEN;
  mysql> USE CHEN;
  mysql> CREATE TABLE T1 (ID INT);
  mysql> INSERT INTO T1 VALUES (1),(2),(3);
  mysql> \q

5.重啟從MYSQL (在Slave上執行)
  # service mysqld restart

6.備份主要資料庫(如果主從上的資料庫版本一樣,可以全備) (在Master上執行)
  # mysqldump --single-transaction --master-data --triggers --routines --all-databases >> /root/165_full.sql
  # #記錄MASTER_LOG_FILE和MASTER_LOG_POS 的值;
  # more /root/165_full.sql #找到這樣一句話:CHANGE MASTER TO MASTER_LOG_FILE=‘log-bin.000003‘, MASTER_LOG_POS=520;

7.將主要資料庫備份傳輸到從資料庫中 (在Master上執行)
  # scp /root/165_full.sql [email protected]:/root

8.將主要資料庫的備份匯入到從資料庫中 (在Slave上執行)
  # mysql -uroot -p < /root/165_full.sql

9.初始複製鏈路 (在Slave上執行)
  # mysql
  mysql> change master to master_host=‘192.168.100.165‘,
    -> master_user=‘repl‘,
    -> master_password=‘123456‘,
    -> MASTER_LOG_FILE=‘log-bin.000003‘ #從備份中尋找
    -> MASTER_LOG_POS=520;#從備份中尋找

10.啟動當檢查結果
  mysql> start slave; (在Slave上執行)

  mysql> show slave status \G (在Slave上執行) 進程啟動
  mysql> show processlist; (在Slave上執行) 兩個系統進程
  mysql> show processlist; (在Master上執行) 一個系統進行

  mysql> SELECT * FROM `chen`.t1; (在Master上執行) 查檢結果是否一致
  mysql> SELECT * FROM `chen`.t1; (在Slave上執行) 查檢結果是否一致

  mysql> INSERT INTO `chen`.t1 VALUES (4); (在Master上執行)

  mysql> SELECT * FROM `chen`.t1; (在Master上執行) 查檢結果是否一致
  mysql> SELECT * FROM `chen`.t1; (在Slave上執行) 查檢結果是否一致

如果都沒有問題,那就OK啦

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.