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 相关文章推荐
在普通HTTP上安全地传输密码
Jul 21 PHP
在PHP里得到前天和昨天的日期的代码
Aug 16 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
Nov 28 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
php文件上传的两种实现方法
Apr 04 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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+xslt在windows平台上
2006/10/09 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php文件操作相关类实例
2015/06/18 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
JS去掉字符串中所有的逗号
2017/10/18 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
使用python Django做网页
2013/11/04 Python
Python创建模块及模块导入的方法
2015/05/27 Python
发布你的Python模块详解
2016/09/15 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
python opencv读mp4视频的实例
2018/12/07 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
怎样声明子类
2013/07/02 面试题
宝宝周岁宴答谢词
2014/01/26 职场文书
模具数控专业自荐信
2014/01/27 职场文书
预防煤气中毒方案
2014/06/16 职场文书
授权委托书范文
2014/07/31 职场文书
民事授权委托书范文
2014/08/02 职场文书
工作经历证明范本
2015/06/15 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python