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 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 PHP
使用PHP遍历文件夹与子目录的函数代码
Sep 26 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 PHP
php 文本文件的读取效率
Feb 10 PHP
解析crontab php自动运行的方法
Jun 24 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
PHP数组相加操作及与array_merge的区别浅析
Nov 26 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
php数组合并的二种方法
2014/03/21 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
JSON Web Tokens的实现原理
2017/04/02 Python
Django添加feeds功能的示例
2018/08/07 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
python 字典的打印实现
2019/09/26 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
Python如何使用input函数获取输入
2020/08/06 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
车间统计员岗位职责
2015/04/14 职场文书
风之谷观后感
2015/06/11 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android