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 相关文章推荐
PHP中的正则表达式函数介绍
Feb 27 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
php错误级别的设置方法
Jun 17 PHP
PHP实现利用MySQL保存session的方法
Aug 23 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
Yii rules常用规则示例
Mar 15 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
Laravel-admin之修改操作日志的方法
Sep 30 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
第三节 定义一个类 [3]
2006/10/09 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
2009/11/28 Javascript
js prototype截取字符串函数
2010/04/01 Javascript
来自qq的javascript面试题
2010/07/24 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
理解JS绑定事件
2016/01/19 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
JS如何生成随机验证码
2020/03/02 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
python常见数制转换实例分析
2015/05/09 Python
Python中格式化format()方法详解
2017/04/01 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
Python3 合并二叉树的实现
2019/09/30 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
总裁秘书岗位职责
2013/12/04 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
我收到了德劲DE1107
2022/04/05 无线电