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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
vs中通过剪切板循环来循环粘贴不同内容
Apr 30 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php查找字符串出现次数的方法
Dec 01 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 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开发过程中常用函数收藏
2009/12/14 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
php在线代理转向代码
2012/05/05 PHP
php使用google地图应用实例
2014/12/31 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
Dom与浏览器兼容性说明
2010/10/25 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
js数据类型检测总结
2018/08/05 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
Openlayers实现测量功能
2020/09/25 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
基于wxpython实现的windows GUI程序实例
2015/05/30 Python
python 的列表遍历删除实现代码
2020/04/12 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
numpy.where() 用法详解
2019/05/27 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
Ajax和javascript的区别
2013/07/20 面试题
广告业务员岗位职责
2014/02/06 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python