私は1つのマスターと1つのスレーブでmysqlレプリケーションを設定しました。コードのバグのために、途中でエントリがスレーブサーバーに書き込まれ始め、数日後に検出されました。 今、私はどのような手間や最小限の停止時間なしに正しく切り替える方法を考えています、これを行うための最善の方法は何ですか? 1誤ってmysqlスレーブサーバに書き込む
は、単にスレーブの最後のIDにAUTO_INCREMENTを設定した後、今からマスターへの書き込みを開始
ソリューション... 1つのテーブルのみを考えることができます。マスターとスレーブを同期させないようにするのは面倒ですか?
溶液2
クリアマスタからのすべてのデータ、任意のより多くのエントリがmysqldumpをを使用してデータを再充填した後、正しい設定で逆にアプリを切り替える製造からアプリを停止します。
stop slave // load the dump start slave
これは、マスターが同じデータをスレーブに書き直すのをやめないようにしますか?
助けてください。その他のソリューションも歓迎されています。
おかげ スシル
ありがとうTom!しかし、_start/stop slave_ doは何をするのですか?スレーブでも実行したくないマスターテーブルを変更するにはどうしたらいいですか? – Sushil
レプリケーション環境でスレーブを起動および停止すると、単にスレーブが一時停止します。再度スイッチをオンにすると、停止時にマスターbinlogの位置に複製が開始されます。効果的に複製を一時停止します。私の答えの要点は、スレーブに変更を加えたいということです。私の答えでは、あなたのマスタにあるすべてのデータが現在あなたのスレーブにあると仮定しているので、 'アプリケーションを停止し、スレーブデータをダンプし、スレーブデータをマスタにダンプしてスレーブにレプリケートさせます。 –