MySQLサーバーをバックアップする最良の方法は何ですか?サーバーを停止する必要のない方法が欲しい。InnoDBホットバックアップのようなものが必要ですか、それともMySQL Administratorツールで提供されるバックアップツールを使用できますか。一方が他方に対して提供する利点は何ですか?
MySQLサーバーをバックアップする最良の方法は何ですか?サーバーを停止する必要のない方法が欲しい。InnoDBホットバックアップのようなものが必要ですか、それともMySQL Administratorツールで提供されるバックアップツールを使用できますか。一方が他方に対して提供する利点は何ですか?
回答:
MySQLの実行中に機能するmysqldumpを使用します。mysqldumpを使用し始めたのは、ニーズが小さいときにセットアップするのが最も簡単で、それらのニーズを満たすようだったからです。データベースはその後成長しましたが、mysqldumpにまだ成長していません。適しているかどうかは、データベースのサイズ、通常の動作負荷、およびおそらく他の多くのものに依存します。
mysqldumpは使用できますが、ダンプ中にすべてのテーブルをロックしない限り、データセットの一貫性は保証されません。これにより、データベースは読み取り専用モードになりますが、ダンプの一貫性は保証されます。
次のコマンドでテーブルをロックできます:
FLUSH TABLES WITH READ LOCK;
そして、終了したら、次の方法でロックを解除できます。
UNLOCK TABLES;
MySQLレプリケーションをセットアップします。ボーナスとして、メインの本番データベースに影響を与えることなく、サーバーに大量のレポートジョブとmysqldumpを実行させることができます。