建立数据库连接时出错;我如何确定这些连接是否真实?

建立数据库连接时出错;我如何确定这些连接是否真实?

我今天刚刚遇到 MySQL 达到其数据库连接容量的问题。

我收到的错误是,Error establishing a database connection.当我尝试访问 时/phpma,我收到此错误:phpMyAdmin - Error #1040 - Too many connections

我已经研究过如何进行更改my.cnf以增加连接数量,但我想我已经这样做了一段时间,并且从那以后没有出现任何问题。因此,我有点担心这些连接存在某种漏洞。

我运行的是 CentOS。有没有简单的方法来检查这些连接?有什么我应该注意的吗,或者可能只是一种剔除活动时间过长的连接的方法(MySQL 是否也这样工作?)。

答案1

要从 Linux 中查看 mysql 中正在运行哪些线程:

root@myserver:~> mysqladmin processlist

与之等效的 mysql 查询是:

root@myserver:~> mysql
mysql> SHOW FULL PROCESSLIST\G

另外,请查看检查线程信息查看输出的含义。最为显着地:

命令状态指示线程正在做什么。

大多数状态对应于非常快速的操作。如果线程保持给定状态很多秒,则可能存在需要调查的问题。

要点是查看 mysql 进程列表,并根据您的环境性质(例如长时间运行的进程或大量进程)查看是否有任何可疑的内容。

答案2

使用此命令并列出正在运行的 mysql 应用程序,

ps -aux | grep 'mysql'

然后,在默认端口“3306”启动所需的mysql

相关内容