MySQL 主從複製

2021-09-16 22:59:10 字數 894 閱讀 2151

資料分布。

負載均衡

備份高可用性和故障切換

mysql公升級測試

mysql實現複製可以看做是三個步驟

在主庫上把資料更改記錄到二進位制日誌(binary log)中(這些記錄被稱為二進位制日誌事件)。

在每次準備提交事務完成資料更新前,主庫將資料更新的事件記錄到二進位制日誌中,在記錄二進位制日誌後,主庫會告訴儲存引擎可以提交事務了。

備庫將主庫上的日誌複製到自己的中繼日誌(reply log)中。

備庫會啟動乙個io執行緒跟主庫建立乙個普通的客戶端連線,然後主庫會啟動乙個特殊的二進位制轉儲執行緒,這個二進位制轉儲執行緒會讀取主庫上的二進位制日誌中的事件。它不會對事件進行輪詢。如果該執行緒趕上了主庫,它將進入休眠狀態,直到主庫傳送訊號通知其有新的事件產生時才會被喚醒,備庫的io執行緒會將接收到的事件記錄到中繼日誌中

備庫讀取中繼日誌中的事件,將其重放到備庫資料之上。

備庫的sql執行緒從中繼日誌中讀取事件並在備庫執行,從而實現備庫資料的更新

基於語句複製

基於語句的複製:主庫會記錄那些造成資料更改的查詢,當備庫服務並重放這些事件時,實際上是把主庫上執行過的sql再執行一遍。

優點:實現比較簡單。還有二進位制日誌裡的事件更加緊湊,基於語句的模式不會使用太多頻寬,一條更新好記兆的資料的語句在二進位制日誌中可能只佔幾十個位元組

缺點:更新的資料可能會有差異,比如使用curret_user函式或者當前時間戳

基於行的複製

基於行的複製:將實際資料記錄在二進位制日誌中。由於無需重放更新主庫資料的查詢,所以能夠更加高效的複製資料,重放查詢的代價可能很高。

優點:可以正確的複製每一行

缺點:基於行的複製開銷很大,因為每一行都會被記錄到二進位制日誌中

兩種複製的優缺點

mysql主從複製

罪過啊,博主最近好久沒有更新部落格了,轉有道雲筆記了,筆記裡還有些乾貨,最近慢慢分享出來吧。博主最近發現有好多想學,但是發現精力有限啊,博主本來是搞個開發的,但是偏偏想把運維,dba的技術全都學了 mysql集群,nginx等等等 但是發現精力有限,所以簡單了解一下,mysql的主從複製,後面還有m...

MySQL 主從複製

1.概念 將主伺服器的資料複製到另外一台或多台伺服器的過程。也即將主資料庫的ddl和dml操作通過二進位制日誌傳到復 務器上,然後在從伺服器上對這些日誌進行重新執行,從而 保持資料同步。2.作用 降低主伺服器的訪問壓力 避免主伺服器因故障導致資料丟失。3.操作步驟 1 主伺服器將資料的改變記錄到二進...

MySQL主從複製

一 mysql5.7主從複製 主從複製的要求 1 主庫開啟binlog日誌 設定log bin引數 2 主從server id不同 3 從庫伺服器能連同主庫 主從複製原理 mysql的主從配置又叫replication,ab複製,基於binlog二進位制日誌,主資料庫必須開啟binlog二進位制日誌...