WordPressのデータはデータベースの中に保管されていきます。
サイトの規模が大きくなってきたり、カスタムフィールドなどカスタマイズを多くしていくと、データベースファイルサイズも大きくなります。

そんなデータベースファイルを、phpmyadminでインポートしようとすると・・
「許可された最大値を超えています」とエラーが出ます。

対処方法

  1. ファイルをzipにする
  2. 最大許容サイズを上げる(サーバー設定変更できる場合)
  3. mysqlコマンドでインポートする

1.ファイルをzipにする

一番簡単な対処方法です。

zipファイルで圧縮してみましょう。
phpmyadminのインポートはzipファイルでもアップロードできます。ファイルサイズが小さくなってインポートできるかもしれません。

2.最大許容サイズを上げる

zipにしてもまだ大きい場合は、サーバー側の設定で最大アップロードサイズを変更します。
xserverやさくらインターネットなどのレンタルサーバーの場合は、php.iniファイルに追記することで変更できます。

レンタルサーバー(xserver、さくらインターネットなど)の場合

php.iniという名前のファイルを作成し、以下の内容を記述してください。
ファイルはサイトデータのトップに配置してください

upload_max_filesize = 20M

サーバー管理画面からも設定可能

xserverのサーバー管理画面でも設定する場所があります。

php.ini設定変更 > その他の変更 にupload_max_filesizeの項目がありますので、そこに必要なサイズを入力してください。
ちなみにMはメガ、Gはギガとして設定可能です。
画像では50MBに設定されています

さくらインターネットの場合

さくらインターネットのサーバー管理画面でもphp.iniを設定することができます。
xserverとは少し違って、自由に記述します。基本的には上記同様なので、upload_max_filesize = 50M などを記述して保存すればOKです。

詳しくは以下のリンクをご覧ください
https://rs.sakura.ad.jp/column/rs/rs-php-ini/#phpini%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e8%a8%ad%e5%ae%9a

3.mysqlコマンドでインポートする

1、2どちらもやったけど、今度はアップロードに時間がかかりすぎてタイムアウトエラーになる。そんな時は、mysqlコマンドでインポートするのが手っ取り早いです。ただしssh接続できることが条件となります。

sqlファイルをサーバーに置いて、そのファイルがあるディレクトリで以下のコマンドを実行します。

mysql -u ユーザー名 -pパスワード -h ホスト名 データベース名 < アップロードするファイル名.sql

例としては以下のようなコマンドになります。

mysql -u root -p password -h localhost db_name < database.sql

タイムアウト時間を延ばす

タイムアウトするまでの時間を延ばす方法も考えられます。こちらもphp.iniで設定することができます。設定方法は上記と同じで、以下を記述してください。

max_execution_time = 300;

単位は秒です。0とするとタイムアウトしない設定になりますが、処理が終わらずサーバーに負荷がかかる可能性がありますので、あまり設定しない方が良いでしょう。設定したとしても元の設定に戻しておいた方が無難です。

以上です。