私は 200GB / 400Mrows の mysql/innodb データベースを持っています - 私が見つけた合理的なものをはるかに超えています。
1 つの驚くべき問題は、バックアップの復元です。mysqldump は巨大な sql ファイルを生成し、それらを新しいデータベースにインポートして戻すのに約 1 週間かかります (トランザクションを大きく/小さくしたり、インポート中にキーをオフにしたり、ネットワーク圧縮などを高速化しようとする試みはこれまで失敗しました。myisam インポートは2 倍速くなりますが、トランザクションは発生しません)。
さらに悪いことに、これについて何らかの助けを得たいと思っています.1週間に200GBを超える転送を行うネットワーク接続は、途方もなく壊れる可能性があり、SQLインポートプロセスは重要な方法で続行できません.
それに対処する最善の方法は何ですか?現在、接続が切断されていることに気付いた場合は、最後にインポートされたテーブルの最上位の主キーをチェックして、接続がいつ終了したかを手動で把握しようとします。次に、基本的にこれを行う perlscript を用意します。
perl -nle 'BEGIN{open F, "prelude.txt"; @a=<F>; print @a; close F;}; print if $x; $x++ if /INSERT.*last-table-name.*highest-primary-key/'
これは本当に進むべき道ではないので、最善の方法は何でしょうか?