亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL主從復(fù)制配置心跳功能介紹

 更新時(shí)間:2014年06月11日 09:29:53   作者:  
這篇文章主要介紹了MySQL主從復(fù)制配置心跳功能介紹,解決Slave has read all relay log; waiting for the slave I/O thread to update it問題,需要的朋友可以參考下

在 MySQL 主從復(fù)制時(shí),有時(shí)候會(huì)碰到這樣的故障:在 Slave 上 Slave_IO_Running 和 Slave_SQL_Running 都是 Yes,Slave_SQL_Running_State 顯示 Slave has read all relay log; waiting for the slave I/O thread to update it ,看起來狀態(tài)都正常,但實(shí)際卻滯后于主,Master_Log_File 和 Read_Master_Log_Pos 也不是實(shí)際主上最新的位置。一種可能是 Master 上的 binlog dump 線程掛了。但有時(shí)候,在 Master 上檢查也是完全正常的。那 Slave 的延誤又是怎么造成的呢?

在 MySQL 的復(fù)制協(xié)議里,由 Slave 發(fā)送一個(gè) COM_BINLOG_DUMP 命令后,就完全由 Master 來推送數(shù)據(jù),Master、Slave 之間不再需要交互。如果 Master 沒有更新,也就不會(huì)有數(shù)據(jù)流,Slave 就不會(huì)收到任何數(shù)據(jù)包。但是如果由于某種原因造成 Master 無法把數(shù)據(jù)發(fā)送到 Slave ,比如發(fā)生過網(wǎng)絡(luò)故障或其他原因?qū)е?Master 上的 TCP 連接丟失,由于 TCP 協(xié)議的特性,Slave 沒有機(jī)會(huì)得到通知,所以也沒法知道收不到數(shù)據(jù)是因?yàn)?Master 本來就沒有更新呢還是由于出了故障。

好在 MySQL 5.5 開始增加了一個(gè)復(fù)制心跳的功能。


復(fù)制代碼 代碼如下:

stop slave;
change master to master_heartbeat_period = 10;
set global slave_net_timeout = 25;
start slave;

就會(huì)讓 Master 在沒有數(shù)據(jù)的時(shí)候,每 10 秒發(fā)送一個(gè)心跳包。這樣 Slave 就能知道 Master 是不是還正常。slave_net_timeout 是設(shè)置在多久沒收到數(shù)據(jù)后認(rèn)為網(wǎng)絡(luò)超時(shí),之后 Slave 的 IO 線程會(huì)重新連接 Master 。結(jié)合這兩個(gè)設(shè)置就可以避免由于網(wǎng)絡(luò)問題導(dǎo)致的復(fù)制延誤。master_heartbeat_period 單位是秒,可以是個(gè)帶上小數(shù),如 10.5。最高精度為 1 毫秒。

slave_net_timeout 的默認(rèn)是 3600,也就是一小時(shí)。也就是說,在之前的情況下,Slave 要延誤 1 小時(shí)后才會(huì)嘗試重連。而在沒有設(shè)置 master_heartbeat_period 時(shí),將 slave_net_timeout 設(shè)得很短會(huì)造成 Master 沒有數(shù)據(jù)更新時(shí)頻繁重連。

很奇怪的是,當(dāng)前的 master_heartbeat_period 值無法通過 show slave status 查看,而要使用 show status like ‘Slave_heartbeat_period' 查看。此外,狀態(tài)變量 Slave_last_heartbeat 表示最后一次收到心跳的時(shí)間,Slave_received_heartbeats 表示總共收到的心跳次數(shù)。

如:

復(fù)制代碼 代碼如下:

mysql> show status like 'slave%';
+----------------------------+---------------------+
| Variable_name              | Value               |
+----------------------------+---------------------+
| Slave_heartbeat_period     | 5.000               |
| Slave_last_heartbeat       | 2014-05-08 11:48:57 |
| Slave_open_temp_tables     | 0                   |
| Slave_received_heartbeats  | 1645                |
| Slave_retried_transactions | 0                   |
| Slave_running              | ON                  |
+----------------------------+---------------------+
6 rows in set (0.00 sec)

相關(guān)文章

  • sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實(shí)例

    sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實(shí)例

    如果要在程序運(yùn)行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學(xué)會(huì)使用SQL語句,下面這篇文章主要給大家介紹了關(guān)于sql查詢語句教程之插入、更新和刪除數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 淺談Mysql8和mysql5.7的區(qū)別

    淺談Mysql8和mysql5.7的區(qū)別

    本文主要介紹了Mysql8和mysql5.7的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 你真的會(huì)用Mysql的explain嗎

    你真的會(huì)用Mysql的explain嗎

    explain顯示了mysql如何使用索引來處理select語句以及連接表,可以幫助選擇更好的索引和寫出更優(yōu)化的查詢語句,下面這篇文章主要給大家介紹了關(guān)于Mysql中explain用法的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • mysql update語句的用法詳解

    mysql update語句的用法詳解

    本文詳細(xì)介紹了,mysql中update語句的用法,系統(tǒng)全面的學(xué)習(xí)下update更新語句的用法,有需要的朋友可以參考下
    2014-08-08
  • mysql int(3)與int(11)的區(qū)別詳解

    mysql int(3)與int(11)的區(qū)別詳解

    這篇文章主要介紹了mysql int(3)與int(11)的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • MySQL連接指定端口后實(shí)際仍是3306的原因分析及解決方法

    MySQL連接指定端口后實(shí)際仍是3306的原因分析及解決方法

    在日常運(yùn)維或開發(fā)過程中,有時(shí)我們?cè)谑褂?nbsp;mysql 命令行工具連接 MySQL 實(shí)例時(shí),可能會(huì)遇到一個(gè)令人疑惑的問題,本以為連接的是監(jiān)聽在 3307 端口的 MySQL 實(shí)例,但登錄進(jìn)去后執(zhí)行,實(shí)際連接的是3306 端口,而不是我們指定的端口,這是為什么?本文將為你詳細(xì)解答
    2025-07-07
  • 一篇文章徹底搞定MySQL中的JSON類型(效率非常快)

    一篇文章徹底搞定MySQL中的JSON類型(效率非???

    這篇文章主要介紹了關(guān)于MySQL中JSON類型的相關(guān)資料,MySQL?5.7.8引入JSON數(shù)據(jù)類型,提供原生支持,相比字符類型,具有優(yōu)勢(shì),JSON數(shù)據(jù)類型對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,自動(dòng)將布爾類型轉(zhuǎn)換為小寫,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • 使用bin-log日志還原數(shù)據(jù)庫的例子

    使用bin-log日志還原數(shù)據(jù)庫的例子

    使用bin-log日志還原數(shù)據(jù)庫的例子,供大家學(xué)習(xí)參考
    2013-02-02
  • Navicat導(dǎo)入導(dǎo)出Mysql?結(jié)構(gòu)、數(shù)據(jù)、結(jié)構(gòu)+數(shù)據(jù)完整步驟

    Navicat導(dǎo)入導(dǎo)出Mysql?結(jié)構(gòu)、數(shù)據(jù)、結(jié)構(gòu)+數(shù)據(jù)完整步驟

    導(dǎo)出表結(jié)構(gòu)是指將數(shù)據(jù)庫中的表的結(jié)構(gòu)信息導(dǎo)出為SQL腳本或其他格式的文件,這個(gè)功能非常實(shí)用,特別是在數(shù)據(jù)庫遷移或備份時(shí),這篇文章主要給大家介紹了關(guān)于Navicat導(dǎo)入導(dǎo)出Mysql?結(jié)構(gòu)、數(shù)據(jù)、結(jié)構(gòu)+數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • MYSQL開啟遠(yuǎn)程訪問權(quán)限的方法

    MYSQL開啟遠(yuǎn)程訪問權(quán)限的方法

    在本篇文章里小編給大家整理的是關(guān)于MYSQL開啟遠(yuǎn)程訪問權(quán)限的方法,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02

最新評(píng)論