php在linux下检测mysql同步状态的方法
|
本文实例讲述了php在linux下检测mysql同步状态的方法。分享给大家供大家参考。具体分析如下: 这里通过两个实例来介绍mysql同步状态检测实现方法。代码如下: 代码如下:check MySQL_Slave Status crontab time 00:10MYSQL_USER="root" MYSQL_PORT= "show slave statusG" | grep -i "running") if [ "$MYSQL_PORT" = "3306" ];then if [ "$IO_ENV" = "Yes" -a "$SQL_ENV" = "Yes" ];then exit 0 include("mysql_instance.php"); define("USERNAME","用户名"); $instances = get_instances(); if($instances){ END; ["Last_IO_Errno"] . ")"; ["Last_SQL_Errno"] . ")"; n"; n"; |
}else{
die("no mysql instances defined.");
}
check_status_api.php:
<div class="codetitle"><a style="CURSOR: pointer" data="52248" class="copybut" id="copybut52248" onclick="doCopy('code52248')"> 代码如下:<div class="codebody" id="code52248">/*
- 检查mysql服务器的同步状态
/
function check_mysql_replication_status($host,$username,$password)
{
//默认状态未知
$r = array(
"result" => -1
);
try{
$dbh = @mysql_connect($host,$password);
if(!$dbh){
//无法连接
$r["result"] = -2;
return($r);
}
$query = "SHOW SLAVE STATUS";
$res = @mysql_query($query,$dbh);
$err = @mysql_error();
if($err){
//无法连接
$r["result"] = -3;
return($r);
}
$row = mysql_fetch_array($res);
$r = $row;
if(($r["Slave_IO_Running"] == "Yes") && ($r["Slave_SQL_Running"] == "Yes"))
{
$r["result"] = 0;
}else{
if(!emptyempty($row)){
$r["result"] = 1;
}else{
$r["result"] = 2;
}
}
}catch(Exception $e){
$r["result"] = -4;
}
return($r);
}
mysql_instance.php:
<div class="codetitle"><a style="CURSOR: pointer" data="91769" class="copybut" id="copybut91769" onclick="doCopy('code91769')"> 代码如下:<div class="codebody" id="code91769">//GRANT REPLICATION CLIENT ON .* TO '用户名'@'监控主机ip' IDENTIFIED BY '密码'; $mysql_instances =
array();
$mysql_instances[] = "远程ip:端口";
function get_instances() { global $mysql_instances; return $mysql_instances; } 将以上三个PHP文件放在虚拟目录中,然后通过URL访问.
访问方式:http://ip/check_repl.php?key=xupeng
希望本文所述对大家的php程序设计有所帮助。
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
