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 相关文章推荐
将数字格式的计算结果转为汉字格式
Oct 09 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
PHP缓存技术的使用说明
Aug 06 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php curl post 时出现的问题解决
Jan 30 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
PHP实现小偷程序实例
Oct 31 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 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面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP7新功能总结
2019/04/14 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
python使用cookie库操保存cookie详解
2014/03/03 Python
python中的代码编码格式转换问题
2015/06/10 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
彻底理解Python中的yield关键字
2019/04/01 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
校长寄语大全
2014/04/09 职场文书
给老婆的保证书范文
2014/04/28 职场文书
大一新生期末自我评价
2014/09/12 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
赤壁观后感(2)
2015/06/15 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server