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

MYSQL
mysql 常用数据库语句 小练习
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
mysql 字符集的系统变量说明
MySQL 在触发器里中断记录的插入或更新?
将MySQL数据库移植为PostgreSQL
mysql 操作总结 INSERT和REPLACE
linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''
运用mysqldump 工具时需要注意的问题
mysql 优化日记
MySQL 字符串函数大全
mysql 截取指定的两个字符串之间的内容
MySQL 备份还原数据库批处理
mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
Mysql 数字类型转换函数
mysql 动态生成测试数据
mysql 显示SQL语句执行时间的代码
mysql 设置查询缓存
MYSQL explain 执行计划
MySQL 有输入输出参数的存储过程实例
巧用mysql提示符prompt清晰管理数据库的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 78 ::
收藏到网摘: 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