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 相关文章推荐
PHP5 面向对象(学习记录)
Dec 02 PHP
php编写一个简单的路由类
Apr 13 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
Yii操作数据库的3种方法
Mar 11 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
PHP实现合并discuz用户
Aug 05 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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 dirname()与__FILE__常量的应用
2013/06/24 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
vue实例的选项总结
2020/06/09 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python绘制七段数码管实例代码
2017/12/20 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
python 字符串格式化的示例
2020/09/21 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
大学生职业规划书的范本
2014/02/18 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
2015年推普周活动总结
2015/03/27 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
500字作文之周记
2019/12/13 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
html5调用摄像头实例代码
2021/06/28 HTML / CSS
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
python数字图像处理之图像的批量处理
2022/06/28 Python