mysql seconds_behind_master_MySQL中的seconds_behind_master的理解

通過show slave status查看到的Seconds_Behind_Master,從字面上來看,他是slave落后master的秒數,一般情況下,也確實這樣,我們可以通過Seconds_Behind_Master數字查看slave是否落后于master,但是在一些環境中,他確會讓我們產生幻覺。

在http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html中,對Seconds_Behind_Master的有一句話闡述如下:

In essence, this field measures the?time difference in seconds between the slave SQL thread and the slave I/O thread.

很清晰的表明,該值是SQL threadI/O thread.之間的差值。

當在很快的網絡連接情況下,I/O thread.能很快的從master的binlog中同步sql到slave的relay-log里,這樣,這個值就能基本確定的slave落后master的秒數

當網絡環境特別糟糕的情況下,這個值確會讓我們產生幻覺,I/O thread同步很慢,每次同步過來,SQL thread就能立即執行,這樣,我們看到的Seconds_Behind_Master是0,而真正的,slave已經落后master很多很多。這時業務部門的同志們就會抱怨slave與master數據不對,而你看到的Seconds_Behind_Master確為0,你就會非常的郁悶了。

其實這個時候,我們看下master,與slave就能很好的確定這期間的原因。

mysql> show master statusG

*************************** 1. row ***************************

File: ******-bin.001291

Position: 896711460

Binlog_Do_DB:

Binlog_Ignore_DB:

1 row in set (0.00 sec)

mysql> show slave statusG

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 10.69.6.163

Master_User: replica

Master_Port: 3801

Connect_Retry: 60

Master_Log_File: *****-bin.001211

Read_Master_Log_Pos: 278633662

Relay_Log_File: *****-relay-bin.002323

Relay_Log_Pos: 161735853

Relay_Master_Log_File: *******-bin.001211

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 278633662

Relay_Log_Space: 161735853

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

1 row in set (0.00 sec)

很明顯,slave已經落后master 好多了。

暫停復制

你可以在從機上用STOP SLAVE語句來停止復制,用START SLAVE來開始復制。 用STOP SLAVE來停止從機執行二進制日志:

slave> STOP SLAVE;

當停止執行時,從機不再通過IO線程從主機讀取二進制日志并且不再通過SQL線程處理中繼日志中還沒執行的事件。你可以指定線程的類型來獨立地停止IO或者SQL線程。

例如: slave> STOP SLAVE IO_THREAD;

如果你想在從機上執行備份或者其他任務,僅僅只處理來自主機的事件,停止SQL線程會是有效的。

IO線程會繼續從主機讀取變化,但這些變化不會馬上被應用,這樣當你再次開始從機操作的時候從機就能輕易地趕上進度。 停止IO線程會讓中繼日志里的語句執行到中繼日志停止接收新事件的那個點為止。

當你想要讓從機趕上從主機來的事件時,當你想在從機上做管理但要確保你已經在指定的點有最新的更新時,可用停止IO線程的選項。這種方法同樣也能用來停止從機上的事件執行,同時你在主機上做管理確保復制再次啟動的時候不會有大量積壓的事件要執行。

要再次開始執行復制,用START SLAVE語句:

slave> START SLAVE;

如果必要,你可以分別獨立啟動IO線程和SQL線程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538065.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538065.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538065.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2.JVM和DVM之間的區別

1、JVM .java----->.class----->.jar 運行在內存的 棧 棧虛擬機 2、DVM .java----->.class------>.dex-----(加上其它資源文件)---->apk 運行在CPU的 寄存器 寄存器虛擬機 ---------------------------------------------------------- 3、DVM與JVM的區…

Node.js模塊以及模塊加載機制

2019獨角獸企業重金招聘Python工程師標準>>> Node.js中的模塊 在Node.js中,以模塊為單位劃分功能,通過一個完整的模塊加載機制使得開發人員可以將應用程序劃分為多個不同的部分。模塊的使用可以提高代碼重用率,提高應用程序的開發…

wordpress支持MySQL5.5_wordpress數據庫版本為5.5以上導出不能在5.5以下的版本導入的問題解決...

自從wordpress4.2版本出現以后,已經可以支持utf8mb4數據編碼,那么如果您的php空間的數據庫版本是mysql5.1的,那么很多站長朋友從mysql5.5導出來再導入到5.1的數據中的時候,那么問題來了,就會報錯Unknown collation ‘u…

i++與++i的區別

代碼: int i1; int ai;//先賦值,然后再自增,它等價于 a i ; i i 1System.out.println("a"a);System.out.println("i"i);System.out.println("---------------");int j1; int bj;//先自增,后賦值…

獲取數據庫名稱dbName

2019獨角獸企業重金招聘Python工程師標準>>> Autowired DataSource ds; connection ds.getConnection(); tring dbName connection.getCatalog(); connection.close(); 轉載于:https://my.oschina.net/u/2351011/blog/1925838

mysql 5.7 密碼過期_mysql5.7 密碼過期了怎么辦

mysql5.7 密碼過期了怎么辦發布時間:2020-05-08 14:11:09來源:億速云閱讀:148作者:三月下文主要給大家帶來mysql5.7 密碼過期了怎么辦,希望這些文字能夠帶給大家實際用處,這也是我編輯mysql5.7 密碼過期了怎…

我的開源項目

Android App 循環訪問網站app app介紹:http://blog.csdn.net/zengmingen/article/details/78016167 開源地址:https://gitee.com/zengmg/VistWeb

初始化bean(二)—— 緩存部分

上一篇博客,講了下spring如何初始化bean的 當然,當時只討論了很簡單的一種情況:初次加載bean時候,并且只考慮了單例。 這篇博客會試著理清楚spring在加載bean的時候的一部分緩存。關于解決循環引用所使用的緩存,可以看…

chkconfig: 2345 20 80

#chkconfig: 2345 20 80 2345表示系統運行級別是2,3,4或者5時都啟動此服務,20,是啟動的優先級,80是關閉的優先級,如果啟動優先級配置的數太小時如0時,則有可能啟動不成功,因為此時可…

android 按鍵上浮動畫_android – 浮動動作按鈕動畫

從Zielony的回答中,我確切地說到了我想要的地方.下面是正確應用效果的代碼.scale_fab_in.xmlandroid:duration"500"android:fromXScale"0"android:fromYScale"0"android:pivotX"50%"android:pivotY"50%"android:toXScale&qu…

性能測試調優篇---未完待續

性能測試調優一:1.首先,看下選測交易的整個走向純系統內部交易:選測交易如果是系統內的交易,每一步請求都和系統交互幾次,訪問了幾個數據庫,訪問了數據庫的那幾張表??該交易走了那幾…

mysql連接idea詳細教程_idea配置連接數據庫的超詳細步驟

學習時,使用IDEA的時候,需要連接Database,連接時遇到了一些小問題,下面記錄一下操作流程以及遇到的問題的解決方法。一、 連接操作簡介:介紹如何創建連接,具體連接某個數據庫的操作流程。1.1 創建連接打開i…

redis單節點安裝

1、下載 redis :https://redis.io/ redis 提供的是 源碼包,需要編譯。 2、Linux下安裝gcc 和 tcl tcl介紹 命令:yum install gcc tcl 3、將redis的源碼包,放到 /usr/local/src 下 tar -zxvf redis-4.0.6.tar.gz 4、安裝redi…

Shell編程—企業生產案例

Linux系統Shell編程—企業生產案例(一) 企業數據庫可以說是重點保護對象啊,沒有之一,數據在當今企業里就是生命線,因此今天就來說一說,如何通過shell腳本來檢查或監控MYSQL數據庫服務是否正常?&…

ManicTime軟件破解

這款軟件用來記錄電腦上程序的運行時間。方便天天用電腦的查看:今天我的時間都去哪兒了? 專業版不免費,而且需要 67 美元。 免費版和專業版的區別 破解補丁和官方軟件下載(截止博文發布,官方最新版本 版本&#xff1…

mysql根據ID的順序查找_求救:mysql 如何根據給定的 ID順序查找結果?

各位大神,現在我遇到了一個難題需要你們的幫助。有下面兩個表post表:文章表。record表:記錄表,用于記錄用戶閱讀順序。record表 根據用戶的閱讀文章順序用一個字段 postid 記錄 post 表的主鍵ID,既 record.postid 的外鍵為 post.i…

DIY—USB學習板設計以及驅動開發

暑假在Intel OTC做訪問學者時,看到公司有兩個小巧的USB設備-溫度計和LED音樂播放器,用于交大學生的Linux Kernel教學中。但看似簡單的這些設備,還是從國外購買而得。因此,從intel回來之后,我就告訴學生能否設計一種USB…

ps -ef |grep

[rootzengmg 6379]# ps -ef | grep redisroot 1978 1 0 09:35 ? 00:00:16 /usr/local/bin/redis-server 127.0.0.1:6379 root 116656 2708 0 15:56 pts/1 00:00:00 grep redis 字段含義如下: UID PID PPID CSTIME…

python入坑指南_Rust入坑指南:萬物初始

有沒有同學記得我們一起挖了多少個坑?嗯…其實我自己也不記得了,今天我們再來挖一個特殊的坑,這個坑可以說是挖到根源了——元編程。元編程是編程領域的一個重要概念,它允許程序將代碼作為數據,在運行時對代碼進行修改…

python和noip的區別_【noi與noip的區別】

什么是NOINOI:全國青少年信息學奧林匹克(NOI)是國內包括港澳在內的省級代表隊高水平的大賽,自1984年至今,在國內包括香港、澳門組織競賽活動。每年經各省選拔產生5名選手(其中一名是女選手),由中國計算機學會在計算機普及較好的城…