天天看點

MySQL8.0主從複制

環境介紹:

主:使用VMware虛拟Linux系統(CentOS7),并安裝mysql8.0

從:使用windows并安裝mysql8.0

雖然兩個資料庫的環境并不一樣,但是不會影響我們的MySQL主從複制。

步驟簡述:

     1.在Linux系統中安裝MySQL(親測可用:https://www.jianshu.com/p/1dab9a4d0d5f)

     2.在MySQL中建立用于主從複制的使用者并授權(親測可用:https://www.jianshu.com/p/d7b9c468f20d)

     3.在Windows中安裝MySQL

     4.配置主庫

     5.配置從庫

主要介紹一下第4和第5步:

      注意:MySQL 5.1.7版本之後,已經不支援把master配置屬性寫入my.cnf配置檔案中了,隻需要把同步的資料庫和要忽略的資料庫寫入即可。

主伺服器配置

在mysqld下增加如下參數

[mysqld]

#設定伺服器id,為1表示主伺服器,執行個體唯一ID,不能和canal的slaveId重複

server_id=1

#啟動MySQ二進制日志系統

log-bin=mysql-bin

#選擇row模式 

binlog-format=ROW

#需要同步的資料庫名,如果有多個資料庫,可重複此參數,每個資料庫一行

binlog-do-db=DB1

#不同步mysql系統資料庫

binlog-ignore-db=mysql

從資料庫配置

由于使用的是Windows 中的MySQL 是以在my.ini配置檔案

[mysqld]中配置如下

#執行個體唯一ID,不能和canal的slaveId重複,表示為從資料庫

server-id=2

#啟動MySQL二進制日志系統

log-bin=mysql-bin 

#選擇row模式

binlog-format=ROW

#需要同步的資料庫名,如果有多個資料庫,可重複此參數,每個資料庫一行 

replicate-do-db=test_master

#不同步mysql系統資料庫

replicate-ignore-db=mysql

配置好後重新開機兩個資料庫!

下面我們看下配置是否正确

在主資料庫中執行  show master status;

MySQL8.0主從複制

在從資料庫中執行下面指令

mysql> CHANGE MASTER TO

    -> MASTER_HOST='伺服器主機位址',

    -> MASTER_USER='使用者名',

    -> MASTER_PASSWORD='密碼!',

    -> MASTER_LOG_FILE='binlog.000001',

    -> MASTER_LOG_POS=1807;

Query OK, 0 rows affected, 1 warning (0.07 sec)

MySQL8.0主從複制

(2.)開始同步

mysql> START SLAVE;

(3.)檢視Slave的運作狀态

mysql> SHOW SLAVE STATUS\G

MySQL8.0主從複制

接下來就可以自己測試一下了,由于我使用的是Navicat 連結進行的測試是以就不在這裡展示了。

繼續閱讀