今回は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/

The following two tabs change content below.

あだちん

1989年生まれ。 Infra Engineer(SRE) In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはAnsible,Terraform。 インフラならAWS/Docker。言語はPython。 WEBサーバならH2O。そして「脆弱性スキャナVuls」のOSS活動もしており、VulsRepo init fileのコミッターでもある。VulsのためにGolangと格闘中でエバンジェリストに任命!?HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す