MySQL mysqldump データベースの複製方法

未分類

データベースの複製をする機会があったので忘れないようにメモ。
コマンドと、phpMyadminでの方法で、エクスポート=>インポートまでの一連のやり方を残します。

スポンサーリンク

mysqldumpコマンドで復元

コマンドラインからダンプファイルを生成して、復元する方法です。

mysqldumpコマンドでエクスポートしますが、「-d」オプションをつけることで定義のみダンプできます。
つけなければすべて(データ含む)が対象となります。

■すべて

$ mysqldump -u{username} -p{passward} 複製元DB名 > /var/tmp/dbdump.dump

■テーブル定義のみ(dオプション)

$ mysqldump -u{username} -p{passward} -d 複製元DB名 > /var/tmp/dbdump.dump

これでエクスポートは完了。
エクスポートしたダンプファイルは勿論、バックアップファイルとしても残せます。

インポートする前に、複製する(インポート先の)データベースをCREATE句で作成しておきましょう。※※CHARACTER SET箇所は適宜変更

CREATE DATABASE IF NOT EXISTS 複製先DB名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;


あとはダンプしたファイルから複製先にインポートするだけです。

$ mysql -u{username} -p{passward} 複製先DB名 < /var/tmp/dbdump.dump

phpMyadminを使用して復元

phpMyadminからも同様に複製をとることができます。
ただし、データベースの容量によってはタイムアウトして失敗することがあります。
その際はphpiniで調整してください。

手順としては対象のデータベースを選択 => 操作 => 「Copy database to:」より実行するのみです。

設定はデフォルトでもよいと思いますが、適宜変更してください。


以上となります。

タイトルとURLをコピーしました