当前位置: 首页 > article >正文

通过脚本监控MySQL是否正常启动

关闭MySQL服务(也可以用systemctl命令关闭)

killall mysqld

systemctl start mysqld

看MySQL服务是否正常的两种方法

ps -ef | grep mysql

netstat -an | grep 3306

也可以通过登录MySQL账号

mysql -uroot -p密码 -e “select now()”判断$?是否为0,不为0启动服务

登录进去最准确,不过涉及密码保密问题

输出当前目录下的文件名及内容:

for i in ls ./;do echo "#########$i";cat $i;done

详细脚本:

第一种 根据mysql的端口号筛选出端口

#!/bin/bash
port =`netstat -an | grep 3306 | awk -F '[ :]+' '{ print$4}'` #[ :]+这个是正则表达式,+表示一个或多个,这里就表示一个或多个空格或冒号
if [ $port != '3306' ] ; then #不要用整数判断,要用字符串
`systemctl start mysqld`
fi

第二种 根据MySQL的端口号

#!/bin/bash
port= `netstat -an | grep 3306 | wc -l` #统计有无3306这个进程
if [ $port -ne 1 ]; then
`systemctl start mysqld`
fi


第三种根据MySQL的进程

#!/bin/bash
port=`ps -ef | grep mysql | grep -v grep | wc -l`
if [ $port -ne 2 ]; then
`systemctl start mysqld`
else
echo "mysql is already running"
fi

第四种(结合使用)

#! /bin/bash

db_process=`netstat -an| grep 3306 | wc -l`
db_port=`ps -ef | grep mysql | grep -v grep | wc -l`

if [ $db_port -eq 1 ] && [ $db_process -eq 1 ]
then
echo "mysql is already running"
else
`systemctl start mysqld`
fi

http://www.kler.cn/a/299003.html

相关文章:

  • AI基础 L17 Logic Agents II
  • Git 的使用以及vscode 下git 的使用(一)
  • Java基础 2. Java基础语法
  • 请解释Java中的深拷贝和浅拷贝的区别。什么是Java中的代理模式?它有什么作用?
  • HTML5全面知识点
  • 重装电脑系统时硬盘被重新分区:数据恢复实战指南与深度解析
  • DApp开发入门指南:从概念到实践
  • 阿里云Elasticsearch AI搜索实践
  • minio实现大文件断点续传
  • SockJS的使用方法
  • 如何编辑pdf文件?金舟PDF编辑器解决PDF编辑、转换问题!
  • 华为 HCIP-Datacom H12-821 题库 (16)
  • Java项目: 基于SpringBoot+mybatis+maven实现的IT技术交流和分享平台(含源码+数据库+毕业论文)
  • 路径规划——D*算法
  • ubuntu内核升级后的问题修复
  • AMP网站如何适配提升SEO效果?
  • 编曲术语:编曲术语中英对照表
  • 安宝特方案 | 医疗AR眼镜,重新定义远程会诊体验
  • Unity Apple Vision Pro 开发(五):PolySpatial 2.0 导入方式
  • 【我的Android进阶之旅】解决CardView四个圆角有白边的问题