如何判断一个MySQL数据库是否被访问?

有没有一些方便的方法来查看哪些用户正在访问MySQL数据库? 理想情况下,我会有一些这样的应用程序很容易,但其他的方法也可以。

如果没有标准的定义,我会接受“在最近30分钟内查询过数据库”。

查询如何:

SHOW FULL PROCESSLIST 

这将显示您与数据库的连接,他们login的用户,连接的状态以及任何当前正在运行的命令。

从命令行(假设你的主目录下有一个.my.cnf文件夹),

 echo Total\ Connections:; mysqladmin processlist | tail -n +4 | head -n -1 | grep Sleep | wc -l ; echo ; echo Current\ Users: ; mysqladmin processlist | tail -n +4 | head -n -1 | grep Sleep | awk '{print $4}' | sort | uniq 

这给出了一个不错的用户和总连接打印输出。