- 締切済み
日曜日の4時にMySQLが終了する
現在サーバを設定中なのですが、トラブルが解決出来なく、ご教授願えればと思います。 OSはCentOS 5.8 x86_64です。 MySQLは 5.5.25-1.el5.remi x86_64です。 管理ソフトHDE ISP 6.0です。 毎週日曜日の4:02にMySQLが終了します。 最初から設定されているcronを見ると 4:02に毎日のcronが有ります。 週に一度のcronは4:22に設定されているのでMySQLが終了する時間と違います。 MySQLのログには下記の様になっています。18日に気がついてMySQLを起動しました。 120715 4:02:08 [Note] /usr/libexec/mysqld: Normal shutdown 120715 4:02:08 InnoDB: Starting shutdown... 120715 4:02:09 InnoDB: Shutdown completed; log sequence number 8651178 120715 4:02:09 [Note] /usr/libexec/mysqld: Shutdown complete 120715 04:02:09 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 120718 15:37:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 4:02のcron(cron.daily)は下記の10個のファイルがあります。テキストエディタで内容を見てもMySQLを終了させるような文字は見当たりませんでした。 ●certwatch ●hde-webalizer.cron ●makewhatis.cron ●0anacron ●tmpwatch ●rpm ●logrotate ●mlocate.cron ●00webalizer ●zz-hde-logsurfer 何をこれから調べれば良いのかご教授下さい。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- alvagina
- ベストアンサー率60% (3/5)
No.4 です。 そうでしたか、失礼しました。 直接の回答ではないのですが、mysqld以外の再起動の状況について見てみてはいかがでしょうか。httpdやメール関係のデーモンが、日曜日の4:02に再起動とか起きているか。 誰が誰に対して終了シグナルを飛ばしているのかを切り分けるのに参考になると思います。 #4:02という合致からも、ほぼ確実にその時刻のcronがトリガとなっているので、しらみつぶしに試してみるとか。もちろんコメントアウトして一週間待つ必要はなくて、そこで指定されているコマンド等を、ひとつひとつ、手動で起動、または(実行権限の問題が関係しそうなら)数分後に起動するcronに設定してみるなど。どれかの行がMySQLを落としてくれてると思います。。 解決するといいですね。
- alvagina
- ベストアンサー率60% (3/5)
念のため、ですが、毎週日曜日にLinux自体が再起動されていることはないでしょうか。 そして、MySQLサーバが自動起動に設定されていないとか。 uptime などで稼働時間を確認できます。
- dev_null
- ベストアンサー率67% (37/55)
管理ソフトの問題と言うことであれば、管理ソフトのログになにかあったりしませんか。 また、cronのログから原因の一端がつかめる可能性もあるかも知れません。 日曜日だけという事でしたら自動バックアップで停止し、起動を忘れてる可能性も...
お礼
ご回答ありがとうございます。 ログや色々な設定をチェックしていて、お返事遅れて済みませんでした。 自分が設定したcronは無くて、OSに標準で行われているcronと、管理ソフトをインストールしたときのcronが有ります。 管理ソフトのcronが怪しいと思うのですが、管理ソフトの会社は「弊社のソフトは関係ありません。他の方からの報告はありません」と返事です。 確かに管理ソフトのcronをみても怪しそうなのは無いんですけど・・・ まだテスト段階ですので、一度OSを再インストールして、mysql5.5.25とphp5.3.14-1をインストールして、管理ソフトをインストールしてみます。 もしかして、MySQLをバージョンアップしてから管理ソフトをインストールする。 管理ソフトをインストールしてからMySQLをバージョンアップルする。 それによって何かが変わるかも知れないので。 もう少し頑張ってみます。
- Wr5
- ベストアンサー率53% (2173/4061)
>/etc/logrotate.d/mysqld ファイルは有りますのが、中身は何も書かれていません。 空、またはコメント行と空行のみで意味をなす設定になっていない。 とすると、lofrotateは無関係ですかね……。 /var/log/mysql.log.1とかがなければ…ですが。 >一般的にlogrotate時に、MySQLを終了させたり、起動させたりする命令は、どこに書かれていることが有るのでしょうか? /etc/logrotate.d/syslog なんかにも書かれていますが、postrotateとかに再起動するような記述があったりします。 まぁ、こちらはsyslogdの再起動の指令なのでmysqldとは違いますが……。
お礼
ありがとうございます。 Wr5さんのコメントをヒントに色々サーバを見てみましたが、結局分かりませんでした。 ネット上で同じようなトラブルが有るか、色々調べましたが、やはり見当たりませんでした。 分からないことは沢山有るのですが、一つは、なぜ毎日のcron(/etc/cron.daily)の時間に、日曜日だけMySQLが終了するのか。(本当は終了して、何かの処理をした後に、起動するのかと思いますが) 管理ソフトのHDE Controller ISP 6を少し疑ってみたいと思います。 どんな事でも良いので、何かヒントになるような事が有りましたら、ご教授下さい。
- Wr5
- ベストアンサー率53% (2173/4061)
>何をこれから調べれば良いのかご教授下さい。 まずは…/etc/logrotate.d/mysqld の内容でしょうか……。 設定にミスがあるとかで、logrotate実行時のmysqldの起動に失敗している。 という可能性があるかもしれません。 logrotateからの再起動処理がSELinuxの影響を受けるか…が微妙でもあるので、 SELinuxの設定がどうなっているのか…も調べておく必要があるかも知れません。
お礼
ありがとうございます。 /etc/logrotate.d/mysqld ファイルは有りますのが、中身は何も書かれていません。 少し気になるのは CentOSは5.8をインストールしてyumで通常通りアップデートして、 その後にremiレポジトリを入れてmysqlの5.5とphpの5.3をインストールしました。 mysqlの5.5とphpの5.3をインストールするときは、古いバージョンを削除してから行いました。 SELinuxは無効(Disabled)にしてあります。 一般的にlogrotate時に、MySQLを終了させたり、起動させたりする命令は、どこに書かれていることが有るのでしょうか? 因みに/etc/logrotate.d/には下記のファイルが有ります。 acpid iscsiuiolog mgetty rpm tux conman lc_swd mysqld setroubleshoot web_virtualhost hde-lc-dovecot lclog named snmpd wpa_supplicant hde-proftpd lcserver ppp squid yum httpd majordomo psacct syslog
お礼
ご回答ありがとうございます。 再起動はされていないです。uptimeで確認しても再起動はされていないです。 MySQLは、OS起動時、自動起動するようになっています。 念のためサーバを再起動させましたが、MySQLは起動されています。 現在/etc/cron.daily/のファイルを移動して、どのファイルがMySQLを終了させているのか確認しようと思っています。 しかし日曜日の4:02だけしか、この症状が出ないので、なかなか確認が難しいです。 まだテスト段階ですので、一度OSを再インストールして、mysql5.5.25とphp5.3.14-1をインストールして、管理ソフトをインストールしてみます。 もしかして、MySQLをバージョンアップしてから管理ソフトをインストールする。 管理ソフトをインストールしてからMySQLをバージョンアップルする。 それによって何かが変わるかも知れないので。 もう少し頑張ってみます。