2

我正在尝试使用 Monit 监视另一个系统中的 MySQL 进程。该系统连接到与我相同的网络连接。我正在使用这段代码(在配置文件中,monitrc):

使用 pidfile /var/run/mysqld/mysqld.pid 检查进程 mysql

组数据库

启动程序 = "/etc/init.d/mysql 重启"

停止程序 = "/etc/init.d/mysql 停止"

如果主机 192.168.0.189 端口 3306 失败,则重新启动

如果 5 次在 5 个周期内重新启动,则超时

状态似乎是“未监控”。似乎是什么问题?

4

2 回答 2

1

我想扩展这个答案,因为我有类似的问题。

1) 编辑 MySQL 配置 (/etc/mysql/my.cnf) 并将绑定地址设置为它应该监听的任何地址,例如 0.0.0.0(全局地址)或实际 IP 地址。还要注意监听端口。

2) 编辑 monit 配置文件以使用与 MySQL 服务的“主机”相同的地址。确保端口号也与 MySQL 配置端口匹配。

3)由于我为我的防火墙使用 iptables 规则,我不得不将这些行添加到我的规则中:

# allow connection to monit's http server
-A INPUT -p tcp -m tcp --dport 2812 -j ACCEPT
# allow connect to mysql server
-A INPUT -s <listening address> -p tcp -m tcp --dport <listening port> -j ACCEPT

然后重新加载防火墙规则:

sudo iptables-reload < /path/to/iptables.rules.file

最后,重启 monit 服务,或者重新加载配置。

于 2013-06-29T01:49:20.257 回答
0

解决了这个问题。必须更改mysql的my.conf文件中的bindaddress。从 localhost (127.0.0.1) 将其设置为 0.0.0.0 以允许来自网络中所有主机的连接。

于 2013-06-07T06:47:28.653 回答