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中的正规表达式(一)
Oct 09 PHP
一个MYSQL操作类
Nov 16 PHP
PHP防CC攻击实现代码
Dec 29 PHP
php在线代理转向代码
May 05 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
php限制ip地址范围的方法
Mar 31 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 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连接数据库代码应用分析
2011/05/29 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python实现类继承实例
2014/07/04 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python中的延迟绑定原理详解
2019/10/11 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
保险公司年会主持词
2014/03/22 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
违纪检讨书范文
2015/01/27 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
信用卡工资证明范本
2015/06/19 职场文书
赞助商致辞
2015/07/30 职场文书
七年级上册生物的课件
2019/08/07 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python