天天看點

mysql主從複制原理及存在的問題

mysql主從複制原理及存在的問題

主從複制的原理

當從庫執行CHANGE MASTER TO 後

從庫

生成兩個線程I/O thread和SQL thread。

I/O線程與主庫進行連接配接,請求主庫的binlog。接收到binlog後,會存儲到relay log中(中繼日志)

SQL線程會解析中繼日志,并在從庫上進行應用

主庫

接到I/O線程的請求,會生成一個binlog dump thread。負責把binlog給從庫的I/O線程。

檢視主庫的線程

檢視從庫的線程

檢視從庫的中繼日志

主從複制存在的問題

主庫當機後,資料可能丢失

從庫隻有一個SQL線程,主庫寫壓力大,複制很可能延時

解決方法:

半同步複制(可有效解決資料丢失的問題)

并行複制 (可以讓從庫同時啟動更多的線程去應用binlog)