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 相关文章推荐
dedecms模版制作使用方法
Apr 03 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
php实现文件下载代码分享
Aug 19 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
php-msf源码详解
Dec 25 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
php将html转为图片的实现方法
2017/05/19 PHP
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
图文详解WinPE下安装Python
2016/05/17 Python
python 中random模块的常用方法总结
2017/07/08 Python
Python探索之创建二叉树
2017/10/25 Python
scrapy爬虫实例分享
2017/12/28 Python
超简单使用Python换脸实例
2019/03/27 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python集合删除多种方法详解
2020/02/10 Python
python操作yaml说明
2020/04/08 Python
简单了解Django项目应用创建过程
2020/07/06 Python
总裁办公室主任职责
2014/01/02 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
求职信模板
2014/05/23 职场文书
校车安全责任书
2014/08/25 职场文书
学习党史心得体会2016
2016/01/23 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
Python之matplotlib绘制饼图
2022/04/13 Python