1、當 master 主服務器上的數據發生改變時,則將其改變寫入二進制日志文件中;
2、salve 從服務器會在一定時間間隔內對 master 主服務器上的二進制日志進行探測,探測其是否發生過改變;
3、如果探測到 master 主服務器的二進制日志發生了改變,則開始一個 I/O Thread 請求 master 二進制日志;
4、同時 master 主服務器為每個 I/O Thread 啟動一個dump Thread,用于向其發送二進制日志;
5、slave 從服務器將接收到的二進制日志保存至自己本地的中繼日志文件中;
6、salve 從服務器將啟動 SQL Thread 從中繼日志中讀取二進制日志,在本地重放,使得其數據和主服務器保持一致;
7、最后 I/O Thread 和 SQL Thread 將進入睡眠狀態,等待下一次被喚醒;
MySQL主從復制原理圖: