建立資料庫連線時發生錯誤;我如何確定這些連接是否真實?

建立資料庫連線時發生錯誤;我如何確定這些連接是否真實?

我今天剛遇到 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

相關內容