查询mysql进程(轻松接触一个检测MySQL状态的脚本)

本文目录
- 轻松接触一个检测MySQL状态的脚本
- 使用strace来跟踪mysql查询,看看到底是卡在什么地方.先找到mysql进程的pid
- 如何查看Linux下mysql服务的进程是否正常运行
- mysql show processlist host 查看哪个进程
- mysqlshowprocess太快了差不到
轻松接触一个检测MySQL状态的脚本
下面的这个脚本用到了namp扫描工具,所以,系统中如果没安装nmap扫描工具的,需要先安装该工具。
脚本的功能:
首先,检测mysql端口是否正常存在,端口不存在就执行启动mysql服务,当然,启动的脚本的位置根据你的安装路径会有不同,然后如果端口存在,则有mysql服务在运行,那么检测mysql状态,能不能正常连接,如能正常连接说明mysql正常,不做任何处理,如果不能正常连接,则杀掉所有mysql进程,然后启动mysql服务,为什么要杀掉进程而不进行正常的重起呢,是因为有时候mysql是不能正常关闭的,所以不能正常重起,所以保险的做法是杀掉进程,然后启动服务。(#!/bin/bash
/usr/bin/nmap localhost |grep 3306
if
then
/usr/local/mysql/bin/mysql -uxxxxx -pxxxxxx --connect_timeout=5 -e "show databases;"
if
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
使用strace来跟踪mysql查询,看看到底是卡在什么地方.先找到mysql进程的pid
有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
&& /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)
如何查看Linux下mysql服务的进程是否正常运行
通过ps命令查看mysql进程即可,执行如下命令:
ps -aux|grep mysql
执行结果中看到了mysql进程,确定mysql正在运行。
mysql 1634 0.0 0.1 13980 1268 ? S Aug11 0:00
root 6849 0.0 0.0 4816 640 pts/1 S 09:40 0:00 grep mysq
mysql show processlist host 查看哪个进程
如果要查询服务器上正在跑哪些查询进程,使用show processlist; 如果要查询当地哪些进程正在和mysql交互,可以使用操作系统自带的netstat等工具查看mysql所在的IP和3306端口
mysqlshowprocess太快了差不到
没有需要查询的进程、系统负载较低。
如果MySQL当前没有正在执行的进程,使用showprocesslist命令查询MySQL进程列表的速度会非常快,因为MySQL没有需要查询的进程。如果系统负载较低,MySQL的响应速度会更快,因此使用showprocesslist命令查询MySQL进程列表的速度也会更快。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB 公司开发,属于Oracle旗下产品。

更多文章:
javascript动效(怎样用js编写一个开关按钮实现动态效果)
2025年7月1日 02:30
雪花秀essential(essentialfirmingcreamex是什么意思)
2026年8月21日 20:30
javasublist用法(Java中linkedlist集合取出部分元素的方法)
2026年5月11日 20:00
literaturereview网站(literaturereview的查重率很高要紧吗)
2026年4月30日 13:30
javamain打包jar运行(java 如何运行带有main方法的jar文件)
2025年6月24日 16:45
paper软件下载(小红车wallpaper电脑端怎么下载)
2025年12月21日 15:15
搜狗浏览器在线使用(电脑如何给搜狗浏览器加速|电脑使用搜狗浏览器加速功能的方法)
2026年9月6日 10:15
html版权标签(html 代码 meta name=“Copyright“ content=“Tencent“的意思)
2026年3月29日 02:15
python读取桌面上的文件(python读取文件操作文件放在哪里)
2025年10月29日 06:30
文本编辑器的(Git Window 下设置默认的文本编辑器)
2025年7月25日 20:30
AT、CVT和双离合究竟哪个更好,老?sigmaplot、spss和R语言的区别 相同点和不同点 总的说哪个更好
2025年11月27日 00:45
html跳转页面(HTML的A标签在本页跳转,这个页面是重新下载的吗)
2026年7月24日 15:45










