2014-10-30 28 views
-1

我將MySQL服務器配置爲只讀只讀副本。MySQL獲取只讀副本lag

如何找出它與正在複製的數據庫之間的滯後秒數?

我嘗試這樣做:

SHOW STATUS LIKE 'seconds_behind_master'; 

但不支持這種語法。我想要一個單行SQL來檢索這個值。可以做到嗎?

回答

0

如何獲取配置爲只讀副本的mysql服務器的只讀副本滯後。

http://dev.mysql.com/doc/refman/5.6/en/show-slave-status.html

show slave status 

此字段Seconds_Behind_Master是如何「遲到」的奴隸是一個跡象。

我可以寫一個小PHP腳本,抓取只是一個值:

$db = new pdo(
    "mysql:host=your_database_hostname;dbname=your_database_name", 
    'your_username', 'your_password'); 

$sql = 'show slave status'; 

$query = $db->query($sql); 
$res = $query->fetchall(); 

foreach($res as $item){ 
    print ">" . $item["Seconds_Behind_Master"]; 
} 

它打印0秒因爲一切是最新的:

>0 

這裏是一個小bash命令打印show slave狀態的內容供你解析:

mysql --host=your_host -u your_username --password=your_password your_database_name -e "show slave status"