1

リンクが見つかりませんが、データベースへの書き込み中にec2スナップショットが取得されている場合、そのスナップショットからamiを作成し、そのamiからインスタンスを起動すると、正しく読み込まれない可能性があることを読んだことを覚えています。バイナリのエラーが原因です。mysqlクエリの実行中にec2スナップショットが取得されますか、それともクエリが終了するのを待ってからデータベースをロックしてからスナップショットを取得しますか?

また、mysqlアプリケーションのスナップショットのベストプラクティスは何ですか?スナップショットを作成する前にデータベースをロックする必要がありますか?

最後に-私は時々このデータベースのmysqldumpsを取ります。mysqldumpを取得すると、データベースが書き込みからフリーズし、データのダンプを続行しますか、それともダンプを取得する前にデータベースをロックする必要がありますか?

4

1 に答える 1

3
  1. いいえ、スナップショットを作成しても、ファイル システムが書き込み中でないことは保証されません。ボリュームの使用率が高い場合は、最初にボリュームをフリーズすることをお勧めします。私は XFS ファイル システムを使用しており、単純に XFS フリーズを使用してファイル システムを停止しています。(解凍するのを忘れずに)

  2. ベスト プラクティスは、mysql テーブルをフラッシュしてロックし、ファイル システムをフリーズすることです。このようにして、データが破損しないようにします。

  3. mysqldump は、データが破損していないことを確認するのにはるかに優れています。mysqldump を利用すれば、全世界をフリーズさせることなく、適切なデータを得ることができます。

これを行うために私が書いたこのスクリプトをチェックしてください。

私は通常、mysql マスター スレーブ セットアップを使用し、1 日に 1 回、スレーブで ebs スナップショットを実行します。また、mysql ダンプを実行して、より頻繁に s3 にアップロードします。

于 2012-06-19T14:46:48.317 に答える