Mat*_*chu 6 mysql linux monitoring monit
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 0 173.230.135.241:3306 0.0.0.0:* LISTEN 14357/mysqld
unix 2 [ ACC ] STREAM LISTENING 265228 14357/mysqld /var/run/mysqld/mysqld.sock
Run Code Online (Sandbox Code Playgroud)
“mysqld”失败,无法通过 TCP 打开与 INET[localhost:3306] 的连接
此错误表明 monit 正在尝试连接到 localhost 上的端口 3306,即 IP 地址 127.0.0.1
tcp 0 0 173.230.135.241:3306 0.0.0.0:* 监听 14357/mysqld
此 netstat 输出显示 mysqld 正在侦听提到的 IP 地址。它没有在本地主机上监听。
您要么需要让 mysqld 也侦听 localhost,要么需要告诉 monit 检查特定的 IP 地址,而不是默认为 localhost。
| 归档时间: |
|
| 查看次数: |
2852 次 |
| 最近记录: |