本文主要介紹單臺服務器MySQL數據庫多實例的主從同步,一般常規做主從複製主從服務器在不同的機器上,並且監聽端口均爲默認的3306端口。
一、環境介紹
操作系統:CentOS 6.5
數據庫版本:MySQL 5.5.32
主庫主機名稱:mysql-master(172.18.10.222:3306)
從庫主機名稱:mysql-slave(172.18.10.222:3307)
二、主從同步原理介紹
簡單描述主從複製原理:
1、在Slave服務器命令行執行start slave,開啓主從複製開關
2、此時Slave服務器的I/O線程會通過在master服務器授權的複製權限用戶請求連接master服務器,並請求從指定位置的binlog日誌之後發送binlog日誌內容
3、Master服務器接收到來自Slave服務器的I/O請求後,Master服務器上的I/O線程根據Slave請求的位置之後讀取binlog日誌內容,返回給發送請求的Slave服務器端的I/O線程,返回的信息除了binlog日誌,還包括本次返回日誌內容之後新的binlog文件名稱及在binlog中下一個指定更新位置
4、Slave服務器端接收到Master服務端返回的日誌相關信息後,由本端的I/O線程依次將binlog信息寫入relaylog文件的最末端,並且將新的binlog文件名稱及位置信息記錄到master-info文件中,以便下次向Master發送請求信息時通知Master服務端從哪個日誌文件的哪個位置返回內容
5、Slave服務器端的SQL線程實時監控本地relaylog日誌新增日誌內容後及時解析relaylog日誌並且在本端數據庫服務器順序執行與Master服務端相同的SQL腳本, 達到與Master服務端實時同步的結果
三、配置主從同步
3.1 安裝數據庫並配置多實例
具體安裝配置步驟請參照 配置MySQL數據庫多實例
3.2 主庫開啓binlog並配置server-id
[mysqld] log-bin = /data/3306/mysql-bin server-id = 1