2008-08-29 6 views
2

私はレプリケーションサーバーをセットアップするのに苦労しました。レプリケーションの問題を監視して解決できるプログラム(OS X、Win、Linux、またはPHPの問題なし)はありますか? (ところで、以下-uhm-それらのために、この問題にherehereherehereれてアイブ。私はこのことについて間違った道を進んだか、私は非常に厚くなければならないのいずれか)mysqlソフトウェア:私のmysqlレプリケーションサーバを監督するための提案はありますか?

私の本番データベースには、いくつかのメガバイトです成長しています。データベースの複製が停止するたびに、データベースは必然的に同期外れになり始めます。ダンプからの私の最後の再同期は往復4時間ほどかかりました!

Error 'Duplicate entry '252440' for key 1' on query. 

密接に起こっていただきまし監視し、おそらくソフトウェアをできるようにいくつかの方法があった場合、私はそれを愛するだろう。でも、同期の後、私は「ショー・停止この種のエラーに遭遇いつものように

、それに対処する私も、私はより良い自分のデータを監視に役立つかもしれサービス会社のためにすべての耳だか、完全にミラーリングする別の方法

編集:。。。私は途方もなく助けthisを見つけた私の以前の質問を経由します。私はまだ監視ソリューションのすべての耳です。

歓声、

/MP

答えて

3

は、私たちがフリーtools from Maatkit ...シンプルで効率的な使用のサーバーを監視します。

バイナリレプリケーションは5.1で利用できるので、あなたはいくつかのボールを持っていると思います。私たちはまだ5.0を使用していますが、問題なく動作します。

私たちは、前面にロードバランサとしてMySQLプロキシとマスター・マスター・レプリケーションを使用して、エラーを持っていることから、それを防ぐために:

  • 我々はどこ少数例のために、すべての一意索引
  • を削除私たちは本当にユニークな制約が必要でした。INSERTではなくREPLACEを使用しました。(MySql Proxyは適切な使用法を守るために使用できます...クエリを書き直すことさえできます)
  • 集中的なレポートを作成するスケジュール済みスクリプトは、ロードバランサではない)...危険な操作が安全に複製されるようにする。

ええ、私はそれが単純で馬鹿だと思いますが、私たちが持っていたすべての問題の95%を解決しました。

0

私たちはmysqlレプリケーションを使って30台近くのサーバにデータを複製します。我々はナギオスでそれらを監視する。レプリケーションのステータスを確認し、イベントハンドラを使用して 'SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;スレーブ開始; 'これでエラーは修正されますが、エラーの原因となった挿入が失われます。

エラーについて、あなたのスレーブでメモリテーブルを使用していますか?私はこれを尋ねます。これは、mysqlの最新リリースのバグが原因で、これらのエラーが多く発生した唯一の時間なのでです。 'Delete from Table where Field = Value'は、複数の行があるにもかかわらず、メモリテーブル内の1つの行だけを削除します。

mysql bug descritpion