MySQL获得读取副本滞后

时间:2014-10-30 17:53:57

标签: mysql database-replication

我将MySQL服务器配置为只读只读副本。

如何找出它与被复制的数据库之间的延迟秒数?

我试过了:

SHOW STATUS LIKE 'seconds_behind_master';

但不支持该语法。我想要一个单行SQL来检索这个值。可以吗?

1 个答案:

答案 0 :(得分: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 status的内容供你解析:

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