さくらのレンタルサーバーのphpMyAdminで巨大なSQLファイルをインポートできない時
2025/05/09 (金) - 09:00 Server
さくらのレンタルサーバーのスタンダードプラン以上では標準でMySQLが搭載されており、簡単にデータベースを扱えます。それに伴いデータベース管理ツールのphpMyAdminも装備されておりGUIでデータベース操作が行え、外部からSQLのファイルをインポートできます。しかしさくらのレンサバ標準のphpMyAdminでインポートできるファイルの上限は32MBまでのようです。
数百MBあるような巨大なSQLファイルを読み込ませることができません。SQLファイルをdata.sql.zipのようなファイルの命名規則でzipで圧縮し、32MB以下まで落としてアップもできますが、展開とインポートに時間がかかってタイムアウトすることがあります。そこでどうするか?考えました。

自前でphpMyAdminをインストールする
借りているサーバーに自分でphpMyAdminをインストールし、尚且つphp.iniなどでupload_max_filesizeの値を256MBなどに引き上げて、SQLファイルをアップロードできるようにします。
インポートには時間がかかるので、set_time_limitで実行時間を引き上げたりmemory_limitでメモリの上限を上げる必要もあります。ただしあくまで共用のレンタルサーバのためあまり高負荷をかけ続けるとアカウントの利用制限などに抵触する可能性もあるため注意が必要です。
SSHでサーバに接続してSQLファイルをインポートする
一部サーバーコマンドやSQLコマンドの知識が必要ですがこれが一番確実です。予めインポートしたいSQLファイルをレンタルサーバの任意の場所にアップロードしてきます。次にさくらのレンタルサーバにSSHで接続します。ログインパスワードはFTPと同じパスワードです。
ssh ユーザー名@ユーザー名.sakura.ne.jp
ログインしたらMySQLにログインします。予めさくらのレンタルサーバのコントロールパネルよりデータベースとユーザ名を作成しておきます。レンタルサーバーのコントロールパネルからデータベースの収容サーバ名(mysql****.db.sakura.ne.jp)も控えておきます。パスワードはデータベースを発行したときに設定したデータベースのパスワードです。
mysql -u データベースユーザー名 -h mysql****.db.sakura.ne.jp -p
ログインしたらデータベースを選択します。show databasesでデータベースがあることを確認し、useコマンドで使用するデータベースを選択します。
show databases;
〜データベース一覧が表示される〜
use 使用するデータベース名;
先ほどアップロードしたSQLファイルをインポートします。データベースの構造にもよりますが、数万レコードあるSQLでも1分もかからず終わるはずです。
source /home/ユーザー名/www/data.sql
インポートが終わると入力待ち状態になるので、MySQLを終了します。
exit;
さきほどレンタルサーバにアップロードしたSQLファイルは不要なので削除しておきます。
rm /home/ユーザー名/www/data.sql
さらにサーバからログアウトします。
exit
この方法のがおそらくインポートを失敗せずに行けると思います。
おしまい♥
おすすめ記事
- macOSでローカルWebサーバを立ち上げ、ドキュメントルートを変更する
- WordPressでブログをAWS CloudFrontで配信する時のビヘイビア設定
- ドメインのSPFレコードに複数のサーバを指定する
- AWS CloudFrontで特定ファイルのみキャッシュを無効にする
- Dockerを使いローカルでWordPress動かす(nginx/PHP/MySQL)
トラックバック & ピンバック
- この記事へのトラックバックURI:
- https://weblog.walk-life.me/sakura_rs_phpmyadmin/trackback/