- ベストアンサー
MySQLが割とよく落ちるのですが…
もちろん、私のプログラミングが悪いとは思うのですが、MySQLが割とよく落ちます。 もちろん、動いているときには、結構長く、いろいろやっても動いています。 …が、いくら私のプログラミングが悪くても、最低、落ちたりしないで動いていて欲しい!と思うのですが…。 もし、他人にこのMySQLをアカウント貸しするとか、所謂、ミッションクリティカルな用途に使うには、どうなのでしょうか? MySQLをそんなミッションクリティカルな用途に使っている例とかありますでしょうか? このあたりのMySQLの評判はどうなのでしょうか??? それとも、常時、Cronか何かで監視して、落ちたら、再起動するとかしなくてはならないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私の例ですが、オンラインショップや社内用のアプリケーション のバックエンドにMySQLを使っていますが、MySQLが落ちた ことは2年間運用していて一度もありません。リスタート はおろか、サーバー自体の電源も一度しか落としていません。 オンラインショップは24時間運営が基本なので、ミッション クリティカルだと言えますが、管理者である私自身は MySQLの信頼性に疑問を持ったことはありません。 海外の事例ではさらに大規模なものがMySQLで動いています。 たとえばYahoo! FinanceがMySQLなのは有名ですね。
その他の回答 (2)
もしかして、ご使用のバージョンはMySQL 4.0.19ではないでしょうか? もしそうなのであれば、参考URLに書かれていますが、MySQL 4.0.18を使用しろと書かれています。 バージョンがこれ以外でしたら、参考にはなりませんが・・・
お礼
ありがとうございます。 redhat9で、その中に含まれている mysql-3.23.54a-11 mysql-server-3.23.54a-11 を使っています。 ログらしい /var/log/mysqld.log /var/log/mysqld.log.1 /var/log/mysqld.log.2 には、それらしいエラーは何も記録されていないのですが、 エラーが記録されるのは、どのログでしょうか? それとも、エラーをログに残すには、何か起動オプションのようなものが必要なのでしょうか? 例えば、アパッチは詳細なログを残してくれるので助かりますが、あのくらい詳細なログが、データーベースでも、各トランザクションごとに残ると良いのですが…。
補足
一つ気になるのは、再起動を /etc/rc.d/init.d/mysqld restart で行っていることです。 /usr/bin/safe_mysqld というのがありますが、こちらを使うどのような違いがあるのでしょうか?
- jxt
- ベストアンサー率48% (42/86)
MySQLがおかしな動作をすることは今のところないんですけど、 たとえばバージョンはいくつをお使いですか? mysql.gr.jpのMLの最近のアーカイブを見ても、mysqld 自体が落ちるという報告は上がっていないようです。 「確実に落ちる」SQLがあるのであれば、バージョンと そのスクリプト、及び動作環境をML等に報告して もらえるとユーザーとしては非常に助かります。 ハードウェア的な問題、たとえばメモリを交換したら 問題なくなった、ってのも考えられなくはないですね。
お礼
私の場合、起動に、つぎのようなコマンドを使っていたのですが、これが悪かったようです。 /etc/rc.d/init.d/mysqld restart これを /usr/bin/safe_mysqld --user=mysql --log=$logfile で起動すると、次のページに「落ちても再起動する」とあります。 http://www.mysql.jp/mysql/TIPS/OU_reliant_howto.html 他の多くのページにもやはり、「落ちても再起動する」という記載が無数にありますが、私の場合、誤って次のコマンドで運用していたことにより、この落ちて再起動されるのがどの程度なのかが、確認できたのかも知れません。 /etc/rc.d/init.d/mysqld restart しかし、落ちてから再起動するまでの時間がコンマ何秒かであれば問題ありませんし、ほんの瞬間、落ちていることがあっても、重大な影響とならないプログラミングをすればよいわけですから、私は、やはり、MySQLを採用すると思います。 ヤフーファイナンスで採用しているとの情報が大いに参考になりました。ありがとう御座います。
お礼
ありがとう御座います。それを聞いて、ひと安心しました。ありがとう御座います。 正しく動作すると確認されたSQL文などを実行している限りは大丈夫だと思います。 ただ、私の場合、ミッションとして、レンタルサーバーでMySQLを一般のユーザーに使用させるような類のことを想定しています。 ユーザーの方は、初心者の方も多いので心配なのですが、例えば、ロリポップなどのMySQLをユーザーに使用させているところでも、MySQLは、安定して動作しているのでしょうか? わざと落とすようなプログラムを実行させて、それでも落ちないというデーターベースであって欲しい!のですが、それは、Oracleでも、その他のいかなるデーターべースでも無理なのでしょうか?(^^;) もし、そのような何があっても絶対に落ちないというような耐用テストの結果を報告しているページなどがありましたら、是非、参考にしたいので、お待ちしております。