#!/bin/bash
# Shell script to restart MySQL server if it is killed or not working
# due to ANY causes.
# When script detects mysql is not running (it basically sends ping request
# to MySQL) it try to start using /etc/init.d/mysql script; and it sends an
# email to user indicating the status.
# This script must be run from Cron Job so that it can monitor mysql server.
# For more info visit following url:
# http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/08/linux-mysql-server-monitoring.html
# --------------------------------------------------------------------------
# Copyright (C) 2005 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
# mysql root/admin username
MUSER="root"
# mysql admin/root password
MPASS="SET-ROOT-PASSWORD"
# mysql server hostname
MHOST="localhost"
#Shell script to start MySQL server i.e. path to MySQL daemon start/stop script.
# Debain uses following script, need to setup this according to your UNIX/Linux/BSD OS.
MSTART="/etc/init.d/mysql start"
# Email ID to send notification
EMAILID="notification@somewhere-corp.com"
# path to mail program
MAILCMD="$(which mail)"
# path mysqladmin
MADMIN="$(which mysqladmin)"
#### DO NOT CHANGE anything BELOW ####
MAILMESSAGE="/tmp/mysql.fail.$$"
# see if MySQL server is alive or not
# 2&1 could be better but i would like to keep it simple and easy to
# understand stuff :)
$MADMIN -h $MHOST -u $MUSER -p${MPASS} ping 2>/dev/null 1>/dev/null
if [ $? -ne 0 ]; then
echo "" >$MAILMESSAGE
echo "Error: MySQL Server is not running/responding ping request">>$MAILMESSAGE
echo "Hostname: $(hostname)" >>$MAILMESSAGE
echo "Date & Time: $(date)" >>$MAILMESSAGE
# try to start mysql
$MSTART>/dev/null
# see if it is started or not
o=$(ps cax | grep -c ' mysqld$')
if [ $o -eq 1 ]; then
sMess="MySQL Server MySQL server successfully restarted"
else
sMess="MySQL server FAILED to restart"
fi
# Email status too
echo "Current Status: $sMess" >>$MAILMESSAGE
echo "" >>$MAILMESSAGE
echo "*** This email generated by $(basename $0) shell script ***" >>$MAILMESSAGE
echo "*** Please don't reply this email, this is just notification email ***" >>$MAILMESSAGE
# send email
$MAILCMD -s "MySQL server" $EMAILID < $MAILMESSAGE
else # MySQL is running :) and do nothing
:
fi
# remove file
rm -f $MAILMESSAGE
分享到:
相关推荐
mysql监控脚本,mysql 宕机自启服务。mysql监控脚本,自启mysql监控脚本,自启
官方支持脚本,用于最新版Cacti 1.1.38监控mysql数据库 5.7
mysql.sock 登陆 监控脚本 ,需要简单更改下脚本登陆 本脚本默认为3306端口,可修改其它脚本复用 需要配合 zabbix 监控模版使用 模版链接 https://download.csdn.net/download/zhangxueleishamo/87681013
本文将详细介绍“mysql 性能监控脚本”及其在IT领域的应用。 MySQL性能监控脚本通常是一段自定义的SQL查询或者自动化脚本,用于收集和分析MySQL服务器的关键性能指标,如查询速度、内存使用、锁等待、表空间占用等...
linux下检测mysql进程状态脚本,做Mysql主备模式,可以监测mysql数据库允许状态。
- `default.cfg`和`default.usp`可能包含了LoadRunner的配置和用户自定义设置,确保它们正确配置以支持MySQL监控。 - `_encode.ini`可能涉及到字符编码设置,确保与MySQL数据库的字符集兼容。 6. **结束和清理**...
mysql监控脚本命令整理是数据库管理员的必备技能,以下是常用的mysql监控脚本命令整理: 一、检测mysql server是否正常提供服务 使用mysqladmin命令,可以检测mysql server是否正常提供服务。命令格式为:...
mysql keepalived 监控脚本
- Mysql监控脚本需要修改/opt/zabbix/etc/mysql.conf后才能使用; - Nginx不必修改,但NginxStatus状态服务须和监控脚本中配置的地址和端口一致,默认- Redis监控脚本配合模板使用,极为完善,且支持自动发现多实例...
4. 编写或调整监控脚本,确保它们能正确收集MySQL的关键性能数据,并且这些脚本能在Zabbix代理上运行。 5. 在Zabbix中设定合适的触发器和阈值,当MySQL的某些指标超出预设范围时触发警报。 6. 创建自定义图形来可视...
mysql从服务器状态监控脚本,源自官方网
三、Zabbix与MySQL监控脚本 压缩包中的监控脚本通常用于从MySQL服务器收集性能数据,这些脚本可能包括SQL查询或者使用MySQL管理工具如mysqldumpslow。它们可以定期执行,并将结果发送到Zabbix服务器进行处理。常见...
MySQL DBA(数据库管理员)在日常工作中经常需要执行各种脚本来进行数据库的管理和维护工作。这些脚本涵盖了从数据备份、恢复、性能优化到错误排查等多个方面。以下是一些MySQL DBA常用的知识点,结合“mysql_mgr_...
这个“mysql8.0 附带一键安装脚本”可能包含了一个简化 MySQL 8.0 安装过程的自动化脚本,使得在各种操作系统上部署数据库服务器变得更加便捷。 ### MySQL 8.0 的关键特性: 1. **增强的性能**:MySQL 8.0 通过...
- **异常处理**:脚本应增加错误检查和日志记录功能,以便于监控和调试,特别是网络或权限问题导致的启动失败情况。 - **兼容性**:确保脚本在不同操作系统和MySQL版本下均能稳定运行,必要时调整路径和命令格式。 ...
这个压缩包文件包含两个脚本,用于自动化安装CDH和MySQL服务器,这对于系统管理员来说是非常有用的工具,可以显著提高部署效率。 `insertCDHserver.sh`脚本是针对CDH服务器的安装脚本。CDH的安装通常涉及多个步骤,...
"mysql自动实现备份脚本" 提供了一种高效的方法,通过编写Bash shell脚本来自动化这一过程。下面将详细介绍这个脚本的工作原理、重要性以及如何配置和使用。 1. **Bash脚本简介** Bash是Unix和Linux系统中的默认...
在这个文档中,作者详细介绍了如何使用Shell脚本来监控Linux系统下MySQL的主从同步状态,并且通过邮件通知管理员同步错误。以下是根据文档内容总结的关键知识点: 1. **Shell脚本的作用**:Shell脚本能够自动化执行...
- 运行脚本:`./install_mysql.sh`,脚本将按照预设流程自动完成MySQL8的安装。 - 验证安装:安装完成后,使用`systemctl status mysqld`检查服务状态,用`mysql -u root -p`登录数据库,输入之前设置的密码,确认...