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递归列出所有文件和目录的代码
Sep 10 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
PHP读取PPT文件的方法
Dec 10 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
php版微信小店调用api示例代码
Nov 12 PHP
php实现留言板功能
Mar 05 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
详解php反序列化
Jun 10 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自动更新新闻DIY
2006/10/09 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
yii2安装详细流程
2018/05/23 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
JS跨域问题详解
2014/11/25 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
python中logging库的使用总结
2017/10/18 Python
对Python中range()函数和list的比较
2018/04/19 Python
python 变量初始化空列表的例子
2019/11/28 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
思想品德自我鉴定
2013/10/12 职场文书
水果超市创业计划书
2014/01/27 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
工作收入证明模板
2014/10/10 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
PHP使用QR Code生成二维码实例
2021/07/07 PHP
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫