婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL半同步復制原理配置與介紹詳解

MySQL半同步復制原理配置與介紹詳解

熱門標簽:電銷機器人 行業 淄博400電話申請 南昌高頻外呼系統哪家公司做的好 溫州瑞安400電話怎么申請 昆明電信400電話辦理 電銷機器人各個細節介紹 百度地圖標注后不顯示 俄國地圖標注app 電話機器人市場趨勢

環境介紹:

Ubuntu Server 16.04.2+MySQL 5.7.17 Community Server (GPL)

MySQL安裝

通過APT的方式安裝,官方指導文檔地址:
https://dev.mysql.com/downloads/repo/apt/

1、下載mysql-apt-config_0.8.3-1_all.deb

2、安裝deb

A Quick Guide to Using the MySQL APT Repository:
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/

>sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb

3、更新源

>sudo apt-get update

4、安裝MySQL

>sudo apt-get install mysql-server

5、根據提示選擇安裝和設置密碼。

另外,還需要對其進行設置,綁定的IP和打開防火墻的3306端口,這里主要是學習MySQL半同步復制,對MySQL的安裝不做多解釋,如果疑問歡迎留言。

MySQL半同步復制介紹

(1)默認情況下,MySQL的復制功能是異步的,異步復制可以提供最佳的性能, 主庫把binlog日志發送給從庫,這一動作就結束了,并不會驗證從庫是否接收完畢,這一過程,也就意味著有可能出現當主服務器或從服務器端發生故障的時候,有可能從服務器沒有接收到主服務器發送過來的binlog日志,這就會造成主服務器和從服務器的數據不一致,甚至在恢復時造成數據的丟失。

注意:

半同步復制模式必須在主服務器和從服務器端同時開啟,否則主服務器默認使用異步復制模式。

(2)異步復制案例:

MySQL5.6 數據庫主從(Master/Slave)同步安裝與配置詳解

(3)為了解決上述可能發生的錯誤,MySQL 5.5 引入了一種半同步復制模式。該模式可以確保從服務器接收完主服務器發送的binlog日志文件并寫入到自己的中繼日志relay log里,然后會給主服務器一個反饋,告訴主服務器已經接收完畢,這時主服務線程才返回給當前session告知操作完成。

(4)當出現超時情況是,主服務器會暫時切換到異步復制模式,直到至少有一個從服務器從及時收到信息為止。

(5)中繼日志的自我修復:

從MySQL 5.5.X 版本開始,增加了relay_log_recovery參數,這個參數的作用是:當slave從庫宕機后,假如relay.log損壞了,導致一部分中繼日志沒有處理,則自動放棄所有未執行的relay-log,并且重新從master上獲取日志,這樣就保證了relay-log的完整性。默認情況下該功能是關閉的,將relay_log_recovery的值設置為1時,可在slave從庫上開啟該功能,建議開啟。

(6)半同步復制與異步復制的切換:

半同步復制的工作原理就是當slave從庫IO_Thread線程將binlog日志接收完畢之后,要給master主庫一個確認,如果rpl_semi_sync_master_timeout=10000 (10秒)超過10秒未收到slave從庫的接受確認信號,那么就會自動切換為傳統的異步復制模式。

MySQL半同步復制配置

首先,需要安裝兩個MySQL,這里是:

  • Master:192.168.1.227
  • Slave:192.168.1.224

原始數據庫的模樣如下:

一、Master配置

(1)在Master數據庫安裝半同步復制插件:

mysql>INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

(2)設置Master上開啟半同步復制:

mysql>SET GLOBAL rpl_semi_sync_master_enabled = 1;

(3)修改mysqld.cnf 配置文件:

上圖指出了MySQL配置的文件路徑。

[mysqld]

log-bin=mysql-bin
server_id = 10086
server_id_bits = 33
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000

(4)修改MySQL server-uuid配置文件:

root@xuliugen:/var/lib/mysql# pwd
/var/lib/mysql

修改 auto.cnf文件,server-uuid的值格式固定,為了和Slave的區別開

[auto]
server-uuid=8d90feb7-1a88-11e7-9d11-000c298a546f

(5)查看配置是否成功:

mysql>SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';

(6)參數說明:

1、rpl_semi_sync_master_enabled = 1,表示在master上已經開啟了半同步復制模式;

2、rpl_semi_sync_master_timeout = 10000,表示如果主庫在某次事務中的等待時間超過10000毫秒,則降級為異步復制模式,不在等待slave從庫。如果主庫再次探測到slave從恢復了,則會自動切換回半同步復制模式;

3、rpl_semi_sync_master_wait_no_slave ,表示是否允許master每個事務提交后都要等待slave的接收確認信號。默認為ON,即每一個事務都會等待。如果為OFF,則slave追趕上之后,也不會開啟半同步復制模式,需要手工開啟;

4、rpl_semi_sync_master_trace_level = 32,指用于開啟半同步復制模式時的調試級別,默認為32。

可以看出,在配置Master的時候,只設置了1,其他的都采取的默認設置。

二、Slave配置

(1)在Slave數據庫安裝半同步復制插件:

mysql>INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

(2)設置Slave上開啟半同步復制:

mysql>SET GLOBAL rpl_semi_sync_slave_enabled = 1;

(3)修改mysqld.cnf 配置文件:

[mysqld]

log-bin=mysql-bin
server_id=10089
server_id_bits = 32
rpl_semi_sync_slave_enabled = 1

(4)修改MySQL server-uuid配置文件:

root@xuliugen:/var/lib/mysql# pwd
/var/lib/mysql

修改 auto.cnf文件,server-uuid的值格式固定,為了和Slave的區別開

[auto]
server-uuid=8d90feb7-1a88-11e7-9d11-000c298a123f

確保和Master的server-uuid不一樣!

(5)查看配置是否成功:

mysql>SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';

(6)參數說明:

1、rpl_semi_sync_slave_enabled = 1,表示在slave上已經開啟了半同步復制模式;

2、rpl_semi_sync_slave_trace_level = 32,指用于開啟半同步復制模式時的調試級別,默認為32。

三、為Slave指定Master

(1)命令行模式下重啟Master

root@xuliugen:~# service mysql restart

(2)命令行模式下重啟Slave

root@xuliugen:~# service mysql restart

(3)查看Master狀態:

mysql> show master status\G;
*************************** 1. row ***************************
       File: mysql-bin.000004
     Position: 154
   Binlog_Do_DB:
 Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.02 sec)

mysql>

注意:

File: mysql-bin.000004
Position: 154

很重要,后邊需要使用!

(4)為Slave指定Master:

1、首先關閉Slave的半同步復制

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)

2、為Slave指定Master

mysql>change master to master_host='192.168.1.227',master_user='root',master_password='123456',master_log_file='mysql-bin.000004', master_log_pos=154;

Query OK, 0 rows affected, 2 warnings (0.02 sec)

其中:

master_host='192.168.1.227',Master主庫IP地址
master_user='root',Master主庫數據庫賬戶
master_password='123456',Master主庫數據庫root用戶密碼
master_log_file='mysql-bin.000004', Master主庫binlog文件
master_log_pos=154,Master主庫binlog文件position

注意:

在MySQL 5.6版本以后,在進行主從復制的時候可以使用GTID的方式,無需再找binglog和pos點,只需要知道主服務器的IP、端口、賬戶、密碼就可以實現自動找點同步,開啟GTID功能的時候就不用再使用binlog和pos了。詳細信息,請查閱相關資料進行學習。

3、開啟Slave的半同步復制

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

四、測試半同步復制是否成功

五、如何優雅的關閉Slave同步信息

在某些時候,一臺服務器不再用來作為Slave,那么我們就需要清楚他的同步信息,一般會使用:

mysql> stop slave #先關閉
mysql> reset slave #清楚Slave同步信息

但是,這樣再通過show master status\G顯示的時候:

mysql> show master status\G;

還是會出現同步的信息,這是因為執行了 reset slave 只是把 master.inforelay-log.info 文件刪除了,但同步信息還在,如果有人在執行start slave命令開啟了同步功能,結果就會又從頭開始同步了,有可能還會造成數據的丟失。

如何讓其清除的更干凈哪?請使用下邊的命令:

mysql> stop slave #先關閉
mysql> reset slave all#清楚Slave同步信息

再次執行show master status\G就不會再有任何信息了。

六、部分異常場景模擬

(1)半同步復制與異步復制的切換:

上述已經介紹了為什么會出現半同步復制到異步復制的切換,那么現在模擬一個場景進行演示。

場景如下:

1、關閉slave同步,停止IO接收binlog日志

mysql> stop slave;

該操作就將IO線程關閉,等待10秒之后,如果master未收到來自slave的確認信息,就會切換到異步復制模式:

上圖看到slave已經關閉了半同步復制模式,再次開啟:

mysql> start slave;

此時,已經還原到半同步復制模式了。

(2)同步報錯案例演示:

我們,首先從slave庫上刪除數據庫表 ufind,然后到master再次刪除該庫ufind,該同步就會報錯:

Last_Error: Error 'Can't drop database 'ufind'; database doesn't exist' on query. Default database: 'ufind'. Query: 'DROP DATABASE `ufind`'

此時,查看半同步狀態:

是開啟的,因此沒有將半同步復制模式轉化為異步復制模式,可以看出半同步復制模式跟IO_Thread是有直接關系的,但跟SQL_THREAD沒有關系。

也就是說,slave從庫接收完二進制日志后給master主庫一個確認,但是他不會管relay-log中繼日志是否執行完畢。

六、半同步復制模式性能分析及優缺點

在通常情況下,由于異步復制模式不需要等待從服務器的響應,其速度較半同步復制模式要快,吞吐率要高,在數據進行更新、插入、刪除的時候其速度要高于半同步復制模式。但是,半同步復制模式有利于數據的一致性,對于一些數據一致性要求較高的,網絡波動較小的可以采用半同步復制模式。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • MYSQL 完全備份、主從復制、級聯復制、半同步小結
  • 簡單談談MySQL的半同步復制
  • Mysql半同步復制原理及問題排查
  • 深入解析半同步與異步的MySQL主從復制配置
  • 詳解MySQL的半同步

標簽:葫蘆島 嘉峪關 甘南 洛陽 拉薩 吐魯番 安徽

巨人網絡通訊聲明:本文標題《MySQL半同步復制原理配置與介紹詳解》,本文關鍵詞  MySQL,半,同步,復制,原理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL半同步復制原理配置與介紹詳解》相關的同類信息!
  • 本頁收集關于MySQL半同步復制原理配置與介紹詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩一级黄色片| 日本乱人伦aⅴ精品| 成人av中文字幕| 久久久美女毛片| 福利视频网站一区二区三区| 精品美女一区二区三区| 首页国产欧美日韩丝袜| 欧美高清视频在线高清观看mv色露露十八| 国产免费成人在线视频| 丰满少妇在线播放bd日韩电影| 精品成人一区二区| 成熟亚洲日本毛茸茸凸凹| 国产精品久久久久一区二区三区| 成人网男人的天堂| 亚洲日本免费电影| 欧美亚洲国产一区二区三区| 久久99国产精品久久| 欧美极品xxx| 欧美性三三影院| 国内精品久久久久影院色| 中文字幕亚洲欧美在线不卡| 在线观看免费成人| 日韩精品成人一区二区三区| 精品国产一二三| jlzzjlzz欧美大全| 日韩电影免费一区| 国产精品美女久久久久久2018| 欧美最猛黑人xxxxx猛交| 婷婷久久综合九色国产成人| 久久亚洲一级片| 在线观看亚洲专区| 国产成人免费在线视频| 亚洲欧美偷拍卡通变态| 欧美变态tickling挠脚心| 99re亚洲国产精品| 另类调教123区| 午夜久久电影网| 精品国产免费一区二区三区四区| 91久久国产最好的精华液| 精品亚洲porn| 日韩经典一区二区| 依依成人综合视频| 国产欧美日韩精品在线| 色拍拍在线精品视频8848| 国产精品一区在线观看乱码| 亚洲小少妇裸体bbw| 国产色一区二区| 日韩精品一区二区三区在线观看 | 亚洲欧洲精品一区二区三区| 日韩片之四级片| 色天天综合色天天久久| 91丨九色丨蝌蚪丨老版| 国产成a人亚洲| 日韩福利视频导航| 视频一区二区三区中文字幕| 日本一区二区动态图| 欧美一区二区三区不卡| 欧美日韩国产综合草草| 一本久道久久综合中文字幕 | 国产91综合一区在线观看| 青青草精品视频| 秋霞影院一区二区| 丝袜脚交一区二区| 亚洲男人天堂av| 亚洲理论在线观看| 亚洲天堂福利av| 亚洲视频一区二区免费在线观看| 久久精品亚洲乱码伦伦中文| 国产午夜精品一区二区| 国产欧美日韩卡一| 久久久精品国产免费观看同学| www精品美女久久久tv| 精品免费视频.| 国产精品嫩草影院com| 中文无字幕一区二区三区| 国产精品久久久久久久久免费樱桃 | 一区二区三区不卡视频| 亚洲一二三四在线观看| 天天射综合影视| 精品制服美女丁香| 成人午夜免费av| 91黄视频在线观看| 欧美一级二级三级乱码| 26uuu久久综合| 中文字幕亚洲区| 水蜜桃久久夜色精品一区的特点 | 中文字幕制服丝袜一区二区三区| 国产精品麻豆一区二区| 亚洲欧美怡红院| 日本人妖一区二区| 成人爽a毛片一区二区免费| 91丨porny丨首页| 欧美精品视频www在线观看| 精品国产一区二区国模嫣然| 亚洲精品一二三| 国内精品伊人久久久久av一坑| 99re66热这里只有精品3直播| 欧美高清精品3d| 国产精品女上位| 免费看欧美女人艹b| 99re这里只有精品首页| 精品99999| 亚洲一区二区三区激情| 国产成人免费视频网站| 欧美日本在线播放| 国产精品午夜在线观看| 欧美aaaaaa午夜精品| 95精品视频在线| 久久久精品欧美丰满| 日韩精品一二三区| 欧美中文字幕一区二区三区亚洲| 亚洲精品一区在线观看| 亚洲国产精品久久人人爱 | 91在线视频官网| 精品精品欲导航| 一二三四区精品视频| 粉嫩欧美一区二区三区高清影视| 欧美在线三级电影| 国产精品对白交换视频 | 精品不卡在线视频| 午夜精品一区二区三区电影天堂| 亚洲成人免费视频| www.亚洲精品| 国产传媒日韩欧美成人| 国产欧美在线观看一区| 亚洲高清不卡在线观看| 国产精品成人午夜| 欧美哺乳videos| 人人精品人人爱| 一区二区三区不卡在线观看| 91官网在线观看| 99re6这里只有精品视频在线观看| 亚洲第一久久影院| 91国偷自产一区二区三区成为亚洲经典| 精品裸体舞一区二区三区| 美女一区二区视频| 亚洲欧美一区二区在线观看| 欧美色窝79yyyycom| 91在线视频观看| 麻豆极品一区二区三区| 免费在线观看一区二区三区| 九九**精品视频免费播放| 日日骚欧美日韩| 国产成人在线网站| 日韩精品一区二区三区在线| 国产精品久久久久久久久免费丝袜| 99re这里都是精品| 91在线视频免费91| 在线亚洲一区二区| 成人午夜电影小说| 亚洲色大成网站www久久九九| 色丁香久综合在线久综合在线观看| 无码av免费一区二区三区试看 | 中文字幕精品一区二区精品绿巨人 | www.色精品| 亚洲欧洲在线观看av| 91蜜桃婷婷狠狠久久综合9色| 国产精品福利av| 欧美日韩国产高清一区二区三区 | 麻豆91在线观看| 亚洲男人的天堂av| 欧美日韩亚洲国产综合| 麻豆精品在线看| 国产三级精品视频| 91视频观看免费| 久久超级碰视频| 亚洲欧美日韩国产综合在线 | 日韩女优毛片在线| 成人午夜视频在线观看| 五月天一区二区| 中文字幕精品—区二区四季| 欧洲一区二区三区在线| 国产精品综合二区| 三级久久三级久久久| 中文天堂在线一区| 日韩精品中文字幕一区| 欧美综合在线视频| 国产91丝袜在线观看| 日韩国产成人精品| 亚洲精品视频免费观看| 久久天堂av综合合色蜜桃网| 欧美三区在线观看| 国产成人av电影在线| 午夜精品久久久久久久久| 国产精品久久久久久一区二区三区| 欧美一二三四在线| 在线观看欧美日本| 99久久国产综合色|国产精品| 另类综合日韩欧美亚洲| 一区二区三区在线免费视频| 国产日韩成人精品| 精品奇米国产一区二区三区| 欧美在线观看一二区| 暴力调教一区二区三区| 精久久久久久久久久久| 午夜久久福利影院| 亚洲综合男人的天堂| 国产精品久久久久久久久快鸭 | 久久精品国产99久久6| 一区二区三区免费看视频|