当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 带你轻松接触一个检测MySQL状态的脚本

MYSQL
MySql:存储程序、函数、触发程序及复制:常见问题
MySQL:数据库系统体系结构之概念模式
MySQL:最小函数依赖集知多少
MySQL:小编浅谈关系代数中的语义
如何运用SQL Server 2005中的模板参数
实例:NStarfaiNet的SQL XML文件示范
SQL Server 2000桌面引擎默认配置空口令漏洞
MySQL 5.0.16 乱码问题处理办法
索引对查询条件顺序的影响
从SQL备份文件中导入现存数据库
利用C#实现分布式数据库查询
用ORACLE8i修复数据库坏块的三种方法
Sql Server2000+Sql Server Mobile Edition配置合并复制
MySQL与ASP.NET配合更强大
防范SQL注入攻击的新办法
如何修改遗失的MySQL的ROOT用户密码
在win2003下MySQL数据库每天自动备份
如何提高MySQL性能
实例讲解MySQL数据库的查询优化技术
了解MYSQL数据库调度与锁定的问题

MYSQL 中的 带你轻松接触一个检测MySQL状态的脚本


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 105 ::
收藏到网摘: n/a

下面的这个脚本用到了namp扫描工具,所以,系统中如果没安装nmap扫描工具的,需要先安装该工具。

脚本的功能:

首先,检测mysql端口是否正常存在,端口不存在就执行启动mysql服务,当然,启动的脚本的位置根据你的安装路径会有不同,然后如果端口存在,则有mysql服务在运行,那么检测mysql状态,能不能正常连接,如能正常连接说明mysql正常,不做任何处理,如果不能正常连接,则杀掉所有mysql进程,然后启动mysql服务,为什么要杀掉进程而不进行正常的重起呢,是因为有时候mysql是不能正常关闭的,所以不能正常重起,所以保险的做法是杀掉进程,然后启动服务。

以下为引用的内容:

#!/bin/bash

/usr/bin/nmap localhost |grep 3306

if [ $? -eq 0 ]

then

/usr/local/mysql/bin/mysql -uxxxxx -pxxxxxx --connect_timeout=5 -e "show databases;"

if [ $? -ne 0 ]

then

/bin/ps aux |grep mysql |grep -v grep | awk '{print $2}' | xargs kill -9

/usr/local/mysql/bin/mysqld_safe --user=mysql & > /dev/null

fi

else

/usr/local/mysql/bin/mysqld_safe --user=mysql & > /dev/null

fi