MySQL 主從同步方式

2022-09-13 04:57:15 字數 1009 閱讀 9417

非同步複製是mysql 預設的同步方式。

在master為sl**e開通賬號密碼、ip授權之後,sl**e 可以從master進行資料同步,主要依賴的是master的binlog日誌。

sl**e會啟動兩個執行緒,io thread 和 sql thread。io thread 負責從master拉取binlog 日誌,並寫入relay中繼日誌。sql thread 負責將relay中繼日誌中的變更進行重放,更新資料來達到跟master保持資料一致的目的。這個過程中,sl**e通過io執行緒拉取binlog,master無需關注是否有sl**e需要同步,只做自己的事情,整個複製過程都是非同步完成的,這個就是非同步複製。

非同步複製的優勢是效能好,缺點是資料的安全性比較差。在某一刻主從之間的資料差異可能較大,主機掛掉之後從機接管,可能會丟失一部分資料。

master更新操作寫入binlog之後會主動通知sl**e,sl**e接收到之後寫入relay log 即可應答,master只要收到至少乙個ack應答,則會提交事務。

可以發現,相比較於非同步複製,半同步複製需要依賴至少乙個sl**e將binlog寫入relay log,在效能上有所降低,但是可以保證至少有乙個從庫跟master的資料是一致的,資料的安全性提高。

對於資料一致性要求高的場景,可以採用半同步複製的同步策略,比如主庫掛掉時,準備接管的那乙個從庫,對資料的一致性要求很比較高。

半同步複製的優點是資料的安全性好,缺點是效能比非同步複製稍低。

全同步複製跟半同步複製的區別是,全同步複製必須收到所有從庫的ack,才會提交事務。

主庫的事務提交依賴於後面所有的從庫,這樣一來效能就會明顯得下降。除非是對所有從庫資料一致性要求非常高的場景,否則我們一般不採用這種策略。

全同步複製的資料一致性最好,但是效能也是最差的。

mysql主從同步原理

主從同步 實際上,你讀的主庫和從庫都可以,但是寫的肯定是進入到主庫里,然後從庫在讀binlog,從庫同步 binlog檔案是以二進位制形式儲存的 主庫執行 sql 寫binglog 同步到從庫執行 什麼叫同步,就是insert 或者update或者delete 都會操作主庫,每執行一條語句,都會寫入...

mysql 主從同步配置

mysql資料主從同步配置 主資料庫上操作 1.用vi etc my.cnf開啟檔案,對檔案進行修改,在 mysqld 下面進行新增修改 server id 1 這是資料庫id,此id是唯一的,主庫預設為1,其他從庫以此id進行遞增,id值不能重複,否則會同步出錯 log bin mysql bin...

mysql主從同步原理

mysql主從同步原理 mysql主從同步原理 1.主從同步機制 1.1 主從同步介紹和優點 在多台資料伺服器中,分為 主伺服器和從伺服器 一台主伺服器對應多台從伺服器。主伺服器只負責寫入資料 從伺服器只負責同步主伺服器的資料,並讓外部程式讀取資料。主伺服器寫入資料後,即刻將寫入資料的命令傳送給從伺...