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
PHP详细彻底学习Smarty
Mar 27 PHP
PHP开发中常用的字符串操作函数
Feb 08 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
基于php 随机数的深入理解
Jun 05 PHP
php实现四舍五入的方法小结
Mar 03 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 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
url decode problem 解决方法
2011/12/26 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
python中管道用法入门实例
2015/06/04 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
使用Python生成XML的方法实例
2017/03/21 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
户外宣传策划方案
2014/05/25 职场文书
消防安全培训工作总结
2015/10/23 职场文书
导游词之吉林花园山
2019/10/17 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
Java spring单点登录系统
2021/09/04 Java/Android