1. 程式人生 > >CentOS7,MySQL主從配置和讀寫分離

CentOS7,MySQL主從配置和讀寫分離

主從配置步驟:

1.確保主資料庫與從資料庫裡的資料一樣。

2.在主資料庫裡建立一個同步賬號:例:

mysql> CREATE USER 'repl'@'192.168.1.%' IDENTIFIED BY 'repl123';

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%';

3.如果開發防火牆,可能要配置下埠,如下:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

  firewall-cmd --reload

4.現在開始配置主資料庫:

 1)你必須要啟用二進位制,並且建立一個唯一的Sercer ID,這部操作需要重啟Mysql。

 2)主伺服器傳送的變更記錄到從伺服器依賴的二進位制日誌,從伺服器需要讀取日誌進行變更資料,如果主伺服器沒有啟用二進位制日誌,從伺服器的資料庫不能實現資料的更新。

 3)配置二進位制日誌和Server ID,你需要MySQL和編輯my.cnf或者my.ini檔案,要在[mysqld]節點下新增配置。

 5)下面是啟用二進位制日誌,日誌檔名以“mysql-bin”作為字首,Server ID配置為1,例:

        [mysqld]

        log-bin=mysql-bin
        server-id=1
        binlog-format=mixed


 6)現在需要重啟mysql:systemctl restart mysqld

 7)然後檢視主伺服器狀態:show master status


5.現在開始配置從資料庫:

 1)從伺服器,同理:

      server-id=2
      replicate-do-db = 同步的資料庫
      replicate-ignore-db = 非同步的資料庫
      relay-log=mysql-bin 


 2)重啟mysql:systemctl restart mysqld

 3)現在配置連線主伺服器的資訊:

    mysql> stop slave;

    mysql> CHANGE MASTER TO

    -> MASTER_HOST='192.168.1.233',

    -> MASTER_USER='repl',

    -> MASTER_PASSWORD='repl123',

    -> MASTER_LOG_FILE='mysql-bin.000002',

    -> MASTER_LOG_POS=313;

    mysql> start slave;

4)檢視從伺服器狀態:mysql>show slave status \G;


 5)開始測試資料同步。