Pocket

今回はDB移行ということでのMySQLバックアップからの復元方法をまとめておきます。


■mysqldump[バックアップ]

・全てのDBをバックアップしたい時

・特定のDBをバックアップしたい時

・複数の特定DBをバックアップしたい時


■mysql[復元]

・全てのDBを復元したい時

・特定のDBを復元したい時


■オプション一覧

他にもいろんなこと出来そう・・・

オプション 説明
–opt --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charsetと同じ。デフォルトでこのオプションは有効。
–add-drop-table DROP TABLE文を含める
–add-locks 各テーブルへのINSERT文の前後にLOCK_TABLES文とUNLOCK TABLES文を含める。インポートの速度が向上する。
–create-options CREATE TABLE文にMySQL特有のオプションを含める
–disable-keys 各テーブルについて、全てのレコードのインポートが完了するまでインデックスを作らないようにする。インポートの速度向上が期待できるが、MyISAMテーブルの(UNIQUEではない)通常のインデックスにしか効果が無い。
–extended_insert INSERT文をコンパクトな書式でダンプする。ダンプファイルのサイズが小さくなる。インポートの時間も短縮する。
–lock-tables ダンプの前にDBの全テーブルをロックする。ただし、ロックはDBごとに行われるのでDB間でのデータ整合性は保証されない。InnoDBでは--single-transactionを使った方が速い。
–skip-lock-tables –lock-tablesオプションを無効にする。–optが–lock-tablesを有効にするので、それを打ち消す為に使用する。
–quick ダンプ時にテーブルの全レコードをメモリに一旦バッファする代わりに、1行ずつ読み込んでダンプする。データ量の大きなテーブルのダンプ時にメモリを圧迫しなくて済む。
–set-charset SET NAMES文を出力する。
–quote-names DB名、テーブル名、カラム名などの識別子をバックティック文字で囲む。これらの識別子にMySQLの予約後が含まれていても問題なく動作するようになる
–single-transaction ダンプ処理をトランザクションで囲む。データの整合性を保つのに有効だが、MyISAMテーブルが含まれるDBでは意味が無いので、代わりに–lock-tablesか–lock-all-tablesを使う。
–flush-logs バイナリログをフラッシュして、新しいファイルを作る。フラッシュ
–lock-all-tables ダンプの開始から完了まで、全データベースの全テーブルをロックする。これを使うと自動的に--single-transaction--lock-tablesオプションはオフになる。
–master-data[=2] CHANGE MASTER TO句を含める。これによってレプリケーションのスレーブサーバがマスターサーバのバイナリログの読み取り開始ポイントを知ることが出来る。このオプションは--lock-all-tablesを オンにする。ただし、--single-transactionがオンの場合はそうはならず、代わりにダンプ開始時に一瞬だけグローバルリードロックされる。=2を付けた場合はバイナリログの読み出し開始位置をコメントとして出力する。これは人間が参考のために見たいときに使う。
–password MySQLサーバに接続する時のパスワード

■まとめ

たぶん復元してると以下の様なエラーが出るはずなので。。。

次回治す方法をブログします。

参考:http://weblabo.oscasierra.net/mysql-mysqldump-01/

Pocket

カテゴリー: BlogCentOSMySQLUbuntu

adachin

1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください