轻松接触一个检测MySQL状态的脚本
2013-09-04 16:30
495 查看
下面的这个脚本用到了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
脚本的功能:
首先,检测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
相关文章推荐
- 轻松接触一个检测MySQL状态的脚本
- 数据库知识:带你轻松接触一个检测mysql状态脚本
- 一个检测MySQL状态的脚本
- 批量检测Mysql复制状态的shell 脚本
- 一个简单的mysql服务检测启动脚本
- MySQL-Slave从服务器状态检测脚本
- 写一个简单脚本检测mysql主从是否正常
- 写了一个简单的shell脚本监控mysql服务器运行状态
- 一个检测应用状态的脚本
- python检测mysql状态脚本--参考
- mysql一个脚本,检查运行状态
- 随手写的一个检测php连接mysql的小脚本
- 检测mysql状态脚本
- 一个简简单单检测http服务状态的脚本
- shell监控MySQL主从状态脚本两则
- [shell]通过ping检测整个网段IP的网络状态脚本
- 自己写了一个perl脚本检测redis(nagios插件)
- 一个mysql的备份脚本(可以结合多实例进行调整)
- 一个检测垃圾样式的好插件(JS脚本)
- 一个支持主从,事务以及连接池功能的mysql-proxy脚本