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提示undefined index的几种解决方法
May 21 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
php字符串的替换,分割和连接方法
May 23 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
Symfony2创建基于域名的路由相关示例
Nov 14 PHP
浅谈PHP中的错误处理和异常处理
Feb 04 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
phpStorm2020 注册码
Sep 17 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
hadoop常见错误以及处理方法详解
2013/06/19 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
JavaScript字符串对象
2017/01/14 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
Python 闭包的使用方法
2017/09/07 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
美国智能家居专家:tink
2019/06/04 全球购物
培训协议书范本
2014/04/22 职场文书
幼儿评语大全
2014/04/30 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
mysql事务对效率的影响分析总结
2021/10/24 MySQL
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android