Monit 配置为在 localhost 的端口 3306 上监视 MySQL。
check process mysqld with pidfile /var/lib/mysql/li175-241.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed port 3306 protocol mysql then restart
if 5 restarts within 5 cycles then timeout
Run Code Online (Sandbox Code Playgroud)
我的应用程序配置为通过 localhost:3306 连接到 MySQL,运行良好并且可以访问数据库。我什至可以使用 MySQL Query Browser 通过端口 3306 远程连接到数据库。该端口是完全开放的,可以连接。因此,我非常确定它正在运行。
但是,运行monit -v显示 Monit 无法在该端口上检测到 MySQL。
'mysqld' failed, cannot open a connection to INET[localhost:3306] via TCP
Run Code Online (Sandbox Code Playgroud)
这种情况一直发生,直到 Monit 决定不再按照配置跟踪 MySQL。
如何开始解决此问题?
sudo netstat -lnp | grep mysql 返回以下内容:
tcp 0 …Run Code Online (Sandbox Code Playgroud)