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抓取页面与代码解析 推荐
Jul 23 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
关于php循环跳出的问题
Jul 01 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
PHP性能优化大全(php.ini)
May 20 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 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的开合式多级菜单程序
2006/10/09 PHP
PHP+MYSQL的文章管理系统(一)
2006/10/09 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php中memcache 基本操作实例
2015/05/17 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
js如何验证密码强度
2020/03/18 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
python 基础教程之Map使用方法
2017/01/17 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
python logging 日志的级别调整方式
2020/02/21 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
酒店总经理职务说明书
2014/02/26 职场文书
贫困证明书范文
2015/06/16 职场文书
筑梦中国心得体会
2016/01/18 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python