大容量のMySQLをエクスポート/インポートする方法

公開日:2017/06/22  最終更新日:2019/01/28  カテゴリー:MySQL

大容量のMySQLをエクスポート/インポートする時、XSERVERなどで phpMyAdmin を利用しようとすると 500 Internal Server Error となってしまいます。
ここでは SSH経由で実行する方法を 紹介させていただきます。
初心者の方でも コピペで全然いけると思います。

1. インポート する方法

以下のコマンドを SSHで実行すると インポートできます。

mysql -u [ユーザー名] -p[パスワード] -h [ホスト名] [データベース名] < [ファイル名]
-p[パスワード]の間に半角スペースを入れないことがポイントです。

2. エクスポート する方法

以下のコマンドを SSHで実行すると インポートできます。

mysqldump --single-transaction -u [ユーザー名] -p[パスワード] -h [ホスト名] [データベース名] > [保存するファイル名].sql
-p[パスワード]の間に半角スペースを入れないことがポイントです。

2.1. エクスポートするテーブルを指定

データベース名の後ろに テーブル名をつけるだけです。

mysqldump --single-transaction -u [ユーザー名] -p[パスワード] -h [ホスト名] [データベース名] [テーブル名1] [テーブル名2] > [保存するファイル名].sql

2.2. where句でエクスポートするレコードを絞り込み

オプション --where(-w) を指定すると、where句が使えます。

mysqldump --single-transaction -u [ユーザー名] -p[パスワード] -h [ホスト名] [データベース名] --where 'is_delete = 0' > [保存するファイル名].sql
※複数テーブルある場合、すべてのテーブルに対して同じwhere句が適用されます。

3. 参考文献

本サイトでは URLに日本語を含んでいます。
メールなどで共有する場合は リンクとして認識されない場合がございますので、こちらをご利用ください。