主從同步的用途
- 數據分佈
- 負載均衡
- 備份
- 高可用性和故障切換
主從如何同步
- 在主庫上把數據更改記錄到二進制日誌(Binary log) 中
- 備庫將主庫上的日誌賦值到自己的中繼日誌中(Ready log) 中
- 備庫讀取中繼日誌的事件,將其重放到備庫數據之上
從庫生成兩個線程,一個I/O線程,一個SQL線程;
i/o線程去請求主庫 的binlog,並將得到的binlog日誌寫到relay log(中繼日誌) 文件中;
主庫會生成一個 log dump 線程,用來給從庫 i/o線程傳binlog;
SQL 線程,會讀取relay log文件中的日誌,並解析成具體操作,來實現主從的操作一致,而最終數據一致;