监控MYSQL服务是否异常

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

问题描述:监控MYSQL服务是否正常启动,如果未正常启动,就启动MYSQL

判断mysql的方法:

1)端口判断

1
2
[root@localhost ~] # netstat -lntup | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2288 /mysqld

2)进程判断

1
2
3
4
[root@localhost ~] # ps -ef | grep mysqld      
mysql     2071     1  0 11:32 ?        00:00:00  /bin/sh  /usr/bin/mysqld_safe  --basedir= /usr
mysql     2288  2071  0 11:32 ?        00:00:24  /usr/libexec/mysqld  --basedir= /usr  --datadir= /var/lib/mysql  --plugin- dir = /usr/lib64/mysql/plugin  --log-error= /var/log/mariadb/mariadb .log --pid- file = /var/run/mariadb/mariadb .pid --socket= /var/lib/mysql/mysql .sock
root     10097  6962  0 17:27 pts /1     00:00:00  grep  --color=auto mysqld

3)返回值判断

1
2
3
[root@localhost ~] # mysql -uroot -proot -e "select version();" &>/dev/null 
[root@localhost ~] # echo $?
0

法一:实现思路是过滤出MYSQL端口3306进行判断:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
port=` netstat  -lnt| grep  3306| wc -l`
if  [ $port - ne  1 ]
then
   /etc/init .d /mysql  start
else
     echo  "MySQL is running."
fi
 
执行结果:
[root@localhost ~] # sh mysql1.sh  
MySQL is running.


法二:实现思路是通过MYSQL进程进行判断:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
portcess=` ps  -ef| grep  mysql| grep  - v  grep | wc  -l`
if  [ $portcess - ne  2 ]
then
   /etc/init .d /mysqld  start
else
   echo  "MySQL is running."
fi
 
 
执行结果:
[root@localhost ~] # sh mysql1.sh  
MySQL is running.
 
注意:过滤的字符串‘mysql’不要在脚本名字出现,如果出现则不准

法三:实现思路是通过web连接返回值判断:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
mysql -uroot -proot -e  "select version();"  &> /dev/null
if  [ $? - ne  0 ]
then
   /etc/init .d /mysqld  start
else
   echo  "MySQL is running."
fi
 
执行结果:
[root@localhost ~] # sh mysql1.sh  
MySQL is running.


小结:web服务监控手段:

  1. 端口(本地或者远程)

  2. 本地进程

  3. header(httpd code)

  4. URL(wget,curl


本文转自 baishuchao 51CTO博客,原文链接:http://blog.51cto.com/baishuchao/1942148
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
43 3
|
6天前
|
Prometheus 监控 Cloud Native
使用mysqld_exporter监控所有MySQL实例
使用mysqld_exporter监控所有MySQL实例
41 2
|
6天前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之如何使用ADB MySQL湖仓版声纹特征提取服务
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从MySQL到Flink 1.16.2 Flink-SQL的数据同步工作出现了一个异常如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
18 0
|
6天前
|
Java 关系型数据库 MySQL
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
|
6天前
|
安全 关系型数据库 虚拟化
WIndows Server 远程桌面服务—RDS
WIndows Server 远程桌面服务—RDS
|
6天前
|
SQL 关系型数据库 MySQL
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
该文章提供了在虚拟机上安装MySQL服务的简化方法,特别是针对新手。作者提供了一个自动化脚本`install_mysql.sh`,使得安装过程更简单。用户需要下载`install.rpm`资源,将其放在指定目录下,然后创建并编辑脚本文件,将提供的代码粘贴进去,通过`chmod u+x`授权,最后运行脚本`./install_mysql.sh [rpm文件路径]`来安装MySQL。文章还附有相关图片说明。
42 1
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
|
6天前
|
关系型数据库 MySQL Java
启动项目出现com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法
启动项目出现com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法
|
6天前
|
弹性计算 关系型数据库 MySQL
检测MySQL 服务是否存活
【4月更文挑战第29天】
9 0
|
6天前
|
弹性计算 关系型数据库 MySQL
检测 MySQL 服务是否存活
【4月更文挑战第28天】
11 0