中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql異步復制、同步復制、半同步復制的區別

發布時間:2021-08-24 21:20:17 來源:億速云 閱讀:356 作者:chen 欄目:MySQL數據庫

這篇文章主要介紹“Mysql異步復制、同步復制、半同步復制的區別”,在日常操作中,相信很多人在Mysql異步復制、同步復制、半同步復制的區別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Mysql異步復制、同步復制、半同步復制的區別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、異步復制、同步復制、半同步復制的區別

    異步復制:在主從架構中假如當客戶端發送了一條UPDATE語句,主服務器上I/O thread 線程將二進制日志寫入binlog文件之后就返回客戶端結果,不管從服務器是否已經同步到從服務器的relaylog中,性能是最好的,缺點主服務器宕機,容易造成數據不一致,Mysql中默認使用的就是異步復制

    同步復制:當主服務器完成更新,并且同步到所有從服務器才會返回成功結果,效率低,影響性能

    半同步復制:將兩種方法折中,當主服務器完成更新,至少有一個從服務器接收到并完成更新,主服務器就返回成功

二、具體實現

半同步至少需要3臺主機,2臺和異步就沒有區別了,需要使用Mysql5.5以上版本,半同復制是通過插件Mysql包中的插件實現的

1、搭建主從復制

主服務器

vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
server-id=57       #添加唯一 id                                                               
log-bin         #開啟二進制日志
創建賬號
MariaDB [(none)]> grant replication slave on *.* to repluser@'192.168.12.%' identified by '12345';
查看當前二進制日志位置
show master logs;

從服務器配置方法類似,不重復寫了

vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
server-id=27   #添加唯一 id 
log-bin     #開啟二進制日志

Mysql異步復制、同步復制、半同步復制的區別

2、半同步復制配置

主服務器

MariaDB [(none)]> show plugins;  #可以查看安裝的插件

安裝主節點的插件

MariaDB [(none)]>INSTALL PLUGIN rpl_semi_sync_master SONAME  'semisync_master.so';  #安裝主節點的插件
MariaDB [(none)]>SET GLOBAL rpl_semi_sync_master_enabled=1;   #啟用
MariaDB [(none)]> SET GLOBAL rpl_semi_sync_master_timeout = 10000;  #10000ms不同步,主服務器直接回應客戶端,默認10000
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%';      #查看主節點狀態

Mysql異步復制、同步復制、半同步復制的區別

MariaDB [(none)]> SHOW GLOBAL STATUS LIKE '%semi%';   #查看狀態變量

二臺從服務器配置一樣

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME  'semisync_slave.so';   #安裝從節點插件
MariaDB [(none)]> SET GLOBAL rpl_semi_sync_slave_enabled=1;    #啟用
MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE '%semi%'; 
MariaDB [(none)]> stop slave;  #從節點配置過需要重啟線程才生效
MariaDB [(none)]> start slave;  #啟動后在主服務器狀態變量中可以看到一個從節點

三、驗證

在主服務器上創建數據庫,二個從節點都可以同步

Mysql異步復制、同步復制、半同步復制的區別

Mysql異步復制、同步復制、半同步復制的區別

停止其中一個從服務器的Mariadb服務。同步不受影響

當二個從服務器服務都關閉,主服務器會等到rpl_semi_sync_master_timeout時間到了之后再執行

到此,關于“Mysql異步復制、同步復制、半同步復制的區別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莱西市| 筠连县| 商城县| 花莲市| 奉新县| 宜兰县| 乡城县| 西乌珠穆沁旗| 桐乡市| 子长县| 东阳市| 余庆县| 嵊州市| 丰顺县| 织金县| 伊宁县| 扬州市| 衡东县| 老河口市| 邻水| 内乡县| 平和县| 商城县| 额尔古纳市| 连云港市| 霍邱县| 天镇县| 社会| 成都市| 余江县| 罗城| 九寨沟县| 柘荣县| 梁河县| 邵阳县| 宁武县| 舟曲县| 肇源县| 永善县| 永年县| 绍兴市|