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
一个取得文件扩展名的函数
Oct 09 PHP
一个简单的PHP投票程序源码
Mar 11 PHP
完美解决PHP中文乱码
Nov 26 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
destoon常用的安全设置概述
Jun 21 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
php面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
jQuery的12招常用技巧分享
2011/08/08 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
python mysqldb连接数据库
2009/03/16 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
合作协议书
2014/04/23 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
ktv好的活动方案
2014/08/15 职场文书
租车协议书范本2014
2014/11/17 职场文书
撤诉书怎么写
2015/05/19 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python