3

サーバーのペアでレプリケーションをセットアップしました。1 つはマスターで、2 番目はスレーブです。

最近、マスターで binlog ファイルがあまりにも早くパージされました (ファイル名によるため、mysql はファイルの早期削除を防止していません)。

SLAVE のステータスは次のようになります。

バイナリ ログからデータを読み取るときにマスターから致命的なエラー 1236 が発生しました:「バイナリ ログ インデックス ファイルで最初のログ ファイル名が見つかりませんでした」

不足している binlog ファイルを復元したくないので、スレーブは終了した時点から読み取りを再開します。

ファイルは既に配置されていますが、マスターにログ リストの「パージ解除」を強制するにはどうすればよいですか (したがって、それらは SHOW BINARY LOGS に表示されます)。

4

1 に答える 1

3

わかりました。ただし、このソリューションは完全ではなく、100% 安全ではありません。

すべてのファイル名を mysql-bin.index に入力しました

find /var/log/mysql/ -wholename '/var/log/mysql/mysql-bin.0*' | sort > mysql-bin.index

(使用する場合は、最初に mysql-bin.index ファイルのファイル名形式を確認し、必要に応じて調整してください)

次にmysqlを再起動すると、mysqlは起動時にそのファイルをリロードします。

マスターの準備が整いました。

今はそれで十分です

SLAVE STOP;

SLAVE START;

SLAVEで、それは彼の仕事を続けます。

于 2011-12-05T19:55:43.140 に答える