iOSアプリ・Webシステム開発のイリテク

HOME > Web > MySQLによるオンラインバックアップで注意すること
2014.09.03

MySQLによるオンラインバックアップで注意すること

このエントリーをはてなブックマークに追加

MySQLによるオンラインバックアップについて。バックアップにはmysqldumpコマンドを使いますが、単純にバックアップといえども、リストア(復元)する時のことも考えてないといけません。

SPONSOR

バイナリログがどこまでかかれているか

バックアップをとったとしても、実際にリストアする際には、時間差があります。例えば今日の朝バックアップをとったとして、夜にデータが壊れてリストアする場合、朝から夜までに保存されたデータは復旧できません。そこで、バイナリログが重要になります。バイナリログには実行されたSQL文が記録されていますので、バックアップデータ+このバイナリログで補填できます。

ですので、バックアップをとる際に、その時点でバイナリログがどこまでかかれているか記録しておきます。これは–mastar-data=2オプションをつけます。

共有ロックをかける

バックアップとっている際中に更新が行われないようロックをかけます。共有ロックは参照は許可しますが、更新は行われません。ただバックアップにすごく時間がかかるデータ量だとちょっと現実的ではないかもしれません。これは–lock-all-tablesというオプションをつけます。

ということで、最終的には以下のコマンド。

mysqldump -uroot --lock-all-tables --master-data=2 > dump.sql

備えあれば憂いなし。ですね。

このエントリーをはてなブックマークに追加

記事を書いている人

イリテク(株)代表。Webシステム/iOSアプリの開発を行っています。
受託開発だけでなく、月額固定の専属エンジニアサービスおよび、 自社でクラウド見積請求書サービス CLOUD PAPERを運用中!
プロフィール

月額10万円で御社専属エンジニアを雇いませんか?

御社の顧問エンジニアとして、デザイン・システムに関わる様々なご相談をお受けします。企画・提案だけでなく、実際に手を動かして開発まで行います。また、システムにとどまらず、デザイン案件もお受けできるのが強みです。
顧問エンジニアサービス

イリテクの最新記事をフォロー

  • follow us in feedly
    RSSで最新記事を取得

SPONSER

コメントをどうぞ!

関連記事