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 DataGrid 实现代码
Aug 12 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
php 生成签名及验证签名详解
Oct 26 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP中->和=>的意思
Mar 31 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
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
Javascript的闭包详解
2014/12/26 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
Vue开发环境跨域访问问题
2020/01/22 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python实现感知器
2017/12/19 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
python logging日志模块原理及操作解析
2019/10/12 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
外贸业务员的岗位职责
2013/11/23 职场文书
教师党员思想汇报
2014/01/06 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
搬迁通知
2015/04/20 职场文书
工作犯错保证书
2015/05/11 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
2019各种保证书范文
2019/06/24 职场文书
win10下go mod配置方式
2021/04/25 Golang
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python