PHP实现的mysql主从数据库状态检测功能示例


Posted in PHP onJuly 20, 2017

本文实例讲述了PHP实现的mysql主从数据库状态检测功能。分享给大家供大家参考,具体如下:

实例:

<?php
/**
 * 检测多个主从数据库是否挂掉
 * 建立从数据库$slave_db的二维数组,内容包含每个从服务器的配置数据
 */
header("Content-Type: text/html; charset=utf-8");
set_time_limit(0);
$slave_db = array(
  'db1'=>array(
    'hostname' => '127.0.0.1',
    'port' => 3306,
    'database' => 'test',
    'username' => 'root',
    'password' => '111111',
    'charset' => 'utf8',
  ),
  'db2'=>array(
    'hostname' => '127.0.0.2',
    'port' => 3306,
    'database' => 'test',
    'username' => 'root',
    'password' => '111111',
    'charset' => 'utf8',
  ),
);
$content = '';
foreach ($slave_db as $db_key) {
  $host = $db_key['hostname'];
  $port = $db_key['port'];
  $db_user = $db_key['username'];
  $db_pass = $db_key['password'];
  $slave_link = mysql_connect($host,$db_user,$db_pass);
  if(mysql_errno()) {
    $content .= "从数据库( $host )无法连接 ! <br/>";
    $content .= mysql_error() . "<br/>";
    continue;
  }
  $sql = "show slave status";
  $result = mysql_query($sql, $slave_link);
  $row = mysql_fetch_assoc($result);
  $Slave_IO_Running = $row['Slave_IO_Running'];
  $Slave_SQL_Running = $row['Slave_SQL_Running'];
  if ('Yes' == $Slave_IO_Running && 'Yes' == $Slave_SQL_Running) {
  } else {
    $content .= "从数据库( $host )挂掉了! <br/>";
  }
  mysql_free_result($result);
  mysql_close($slave_link);
}
//若报错信息不为空,发送报错邮件
if(!empty($content)) {
  $title = '主从数据库状态检测报错 ';
  $content = date("Y-m-d H:i:s",time()) . "<br/>" . $content;
  $sendurl = "http://localhost/api.ftrend.com/test.php?title=".$title."&content=".$content;
  $result = file_get_contents($sendurl);
  if('ok' != $result) {
    $message = date("Y-m-d H:i:s",time()).'slaveStatus.php主从数据库状态检测报错,邮件发送失败!'."\n";
    $content = str_replace("<br/>", "\n", $content);
    $message .= $content;
    error_log($message,3,"error.log");
  }
}
<?php
$title = $_GET['title'];
$content = $_GET['content'];
$content = str_replace("<br/>", "\n", $content);
error_log($title."\n",3,'error.log');
error_log($content."\n",3,'error.log');
echo 'ok';

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
Laravel实现表单提交
May 07 PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
解决laravel查询构造器中的别名问题
Oct 17 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
php检测mysql表是否存在的方法小结
Jul 20 #PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 #PHP
php脚本守护进程原理与实现方法详解
Jul 20 #PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 #PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 #PHP
ThinkPHP框架表单验证操作方法
Jul 19 #PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 #PHP
You might like
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
Python yield使用方法示例
2013/12/04 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
Python编程实现蚁群算法详解
2017/11/13 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
python中强大的format函数实例详解
2018/12/05 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Python 画出来六维图
2019/07/26 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
python学生管理系统的实现
2020/04/05 Python
入党自我鉴定范文
2013/10/04 职场文书
物业品质提升方案
2014/06/08 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
Python必备技巧之字符数据操作详解
2022/03/23 Python