這篇文章主要介紹“異步復制、同步復制、半同步復制的區別”,在日常操作中,相信很多人在Mysql異步復制、同步復制、半同步復制的區別問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對大家解答”Mysql異步復制、同步復制、半同步復制的區別”的疑惑有所幫助!接下來(lái),請跟著(zhù)小編一起來(lái)學(xué)習吧!
一、異步復制、同步復制、半同步復制的區別
異步復制:在主從架構中假如當客戶(hù)端發(fā)送了一條UPDATE語(yǔ)句,主上I/O thread 線(xiàn)程將二進(jìn)制日志寫(xiě)入binlog文件之后就返回客戶(hù)端結果,不管從服務(wù)器是否已經(jīng)同步到從服務(wù)器的relaylog中,性能是最好的,缺點(diǎn)主服務(wù)器宕機,容易造成數據不一致,Mysql中默認使用的就是異步復制
同步復制:當主服務(wù)器完成更新,并且同步到所有從服務(wù)器才會(huì )返回成功結果,效率低,影響性能
半同步復制:將兩種方法折中,當主服務(wù)器完成更新,至少有一個(gè)從服務(wù)器接收到并完成更新,主服務(wù)器就返回成功
二、具體實(shí)現
半同步至少需要3臺主機,2臺和異步就沒(méi)有區別了,需要使用Mysql5.5以上版本,半同復制是通過(guò)插件Mysql包中的插件實(shí)現的
1、搭建主從復制
主服務(wù)器
vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql server-id=57 #添加唯一 id log-bin #開(kāi)啟二進(jìn)制日志
創(chuàng )建賬號 MariaDB [(none)]> grant replication slave on *.* to repluser@'192.168.12.%' identified by '12345'; 查看當前二進(jìn)制日志位置 show master logs;
從服務(wù)器配置方法類(lèi)似,不重復寫(xiě)了
vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql server-id=27 #添加唯一 id log-bin #開(kāi)啟二進(jìn)制日志
2、半同步復制配置
主服務(wù)器
MariaDB [(none)]> show plugins; #可以查看安裝的插件
安裝主節點(diǎn)的插件
MariaDB [(none)]>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; #安裝主節點(diǎn)的插件 MariaDB [(none)]>SET GLOBAL rpl_semi_sync_master_enabled=1; #啟用 MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_timeout = 10000; #10000ms不同步,主服務(wù)器直接回應客戶(hù)端,默認10000 MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%'; #查看主節點(diǎn)狀態(tài)
MariaDB [(none)]> SHOW GLOBAL STATUS LIKE '%semi%'; #查看狀態(tài)變量
二臺從服務(wù)器配置一樣
MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; #安裝從節點(diǎn)插件 MariaDB [(none)]> SET GLOBAL rpl_semi_sync_slave_enabled=1; #啟用 MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%'; MariaDB [(none)]> stop slave; #從節點(diǎn)配置過(guò)需要重啟線(xiàn)程才生效 MariaDB [(none)]> start slave; #啟動(dòng)后在主服務(wù)器狀態(tài)變量中可以看到一個(gè)從節點(diǎn)
三、驗證
在主服務(wù)器上創(chuàng )建數據庫,二個(gè)從節點(diǎn)都可以同步
停止其中一個(gè)從服務(wù)器的Mariadb服務(wù)。同步不受影響
當二個(gè)從服務(wù)器服務(wù)都關(guān)閉,主服務(wù)器會(huì )等到rpl_semi_sync_master_timeout時(shí)間到了之后再執行
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站