エックスサーバーにサイトを移行しようとしたら、データベースのインポートで500 Internal Server Errorが発生して、うまくインポートできませんでした。
エックスサーバーでインポートできるデータベースの最大容量は200MBくらいです。インポートしようとしていたデータベースは、許容範囲とはいえ100MBくらいあったので、データベースの容量が大き過ぎるせいで500エラーが発生していました。
そこで、phpMyAdminからではなく、BigDumpというPHPのプログラムを使ったところ、無事インポートすることができました。
備忘録も兼ねて、BigDumpの使い方についてご紹介したいと思います。
BigDumpの使い方
1. 配布サイトにアクセスして、BigDumpをダウンロードします。
2. bigdump.phpをテキストエディタで開き、以下の箇所(41行目くらい)にデータベース名などの接続情報を記述します。
$db_server = 'localhost'; $db_name = ''; $db_username = ''; $db_password = '';
3. サーバーの適当なディレクトリ内にbigdump.phpをアップロードします。
4. 同じディレクトリ内にデータベースファイルをアップロードします。データベースは圧縮せずに.sqlの状態でアップロードしてください。
5. ブラウザでbigdump.phpにアクセスします。(例:http://hogehoge.com/bd/bigdump.php)
6. 表示されたデータベースのファイル名を確認して、[Start Import]をクリックします。
7. インポートが完了するまでしばし待ちます。
インポートが完了したら、念のためにphpMyAdminで確認しておきましょう。
あとがき
データベースの容量が大きくて、phpMyAdminでのインポートがうまくいかない場合は、ぜひお試しください。
BigDumpでのインポート中にエラーが発生する場合は、データベースをエクスポートする際に「作成するクエリの最大長」を小さな数字(例えば1000とか)にするとうまくいくと思います。