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 字符转义 注意事项
May 27 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
PHP按行读取文件时删除换行符的3种方法
May 04 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
由php中字符offset特征造成的绕过漏洞详解
Jul 07 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
PHP 实现链式操作
Mar 09 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实现telnet功能示例
2014/04/08 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
Python写的Socks5协议代理服务器
2014/08/06 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
pytorch permute维度转换方法
2018/12/14 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
优秀家长事迹材料
2014/05/17 职场文书
司机岗位职责说明书
2014/07/29 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL