2

Monit を使用して別のシステムで MySQL プロセスを監視しようとしています。システムは私のものと同じネットワーク接続に接続されています。私はこのコードを使用しています(構成ファイルmonitrc内):

プロセス mysql を pidfile /var/run/mysqld/mysqld.pid でチェックします。

グループデータベース

start program = "/etc/init.d/mysql restart"

stop program = "/etc/init.d/mysql stop"

ホスト 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 に答える