【WordPress移転】phpMyAdminのインポートエラー「#1044」を解決する方法
WordPressのサーバー移転や、データベースのバージョンアップ作業中に避けて通れないのが「データベースのインポート」作業です。
しかし、いざ新しい環境へデータを移そうとすると、画面に赤枠で以下のようなエラーが表示されて進めなくなってしまうことがあります。
--
-- データベース: `LAA0000001-xtdoxb`
--
CREATE DATABASE IF NOT EXISTS `LAA0000001-xtdoxb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MySQL のメッセージ: ドキュメント
#1044 - ユーザー 'LAA0000001'@'172.19.0.0/255.255.0.0' によるデータベース 'LAA0000001-xtdoxb' へのアクセスは拒否されました。
今回は、ロリポップやスターサーバーなどのレンタルサーバーでよく発生するこの 「#1044エラー」 原因と、確実に解決するための2つの方法を解説します。
エラーの原因は「データベースを作ろうとしている」から
エラーメッセージをよく見ると、データのインポートを開始する前に「CREATE DATABASE(データベースを新規作成する)」という命令が実行されています。
ロリポップなどの共用レンタルサーバーでは、セキュリティや管理の都合上、ユーザーがSQLコマンドで勝手にデータベースを作成することは許可されていません。
そのため、「権限がないのにデータベースを新しく作ろうとした」と判定され、アクセス拒否(#1044)が発生してしまうのです。
この問題は、以下のいずれかの方法で簡単に解決できます。
解決策1:エクスポートの設定を見直して「中身だけ」を書き出す(推奨)
一番確実なのは、エクスポート(データの書き出し)のやり直しです。 「サーバー全体」ではなく、「特定のデータベースの中身」だけをエクスポートするように設定します。
手順
- phpMyAdminの左メニューから、移行元のデータベース名をクリックして選択します。 ここが重要です!画面上部に「データベース '(データベース名)' からテーブルをエクスポート」と表示されていることを確認してください。 ※「現在のサーバからデータベースをエクスポート」と出ている場合は、選択が正しくできていません。

-
「エクスポート」タブをクリックします。
-
エクスポート方法で「詳細」を選択している場合: 下の方にある「生成オプション」の項目を確認します。
- 「CREATE DATABASE / USE コマンドを追加する」のチェックを外します。
- 「CREATE TABLE コマンドを追加する」にチェックが入っている状態ならOKです。
-
再度エクスポートを実行し、新しいファイルをインポートしてみてください。
解決策2:SQLファイルを直接修正する(手っ取り早く直したい場合)
「すでにエクスポート済みのファイルがある」「何度もエクスポートし直すのが面倒」という場合は、ファイルを直接編集してエラーの元を消去します。
手順
-
エクスポートした
.sqlファイルを、テキストエディタ(メモ帳やVSCodeなど)で開きます。 -
ファイル冒頭にある「CREATE DATABASE」から始まる記述を探します。 具体的には以下のような箇所です。
-- データベース: `LAA0000001-xtdoxb`
CREATE DATABASE IF NOT EXISTS `LAA0000001-xtdoxb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `LAA0000001-xtdoxb`;
-
この
CREATE DATABASE ...とUSE ...の2行を削除して保存します。 -
修正したファイルをインポートしてください。 余計な命令が消えたことで、スムーズにインポートが完了するはずです。
最後に:なぜ「選択ミス」が起きてしまうのか?
「ちゃんとデータベース名を選んだはずなのに、なぜかサーバー全体のエクスポートになっていた」ということが時々あります。
これは、スペックが低めのサーバーを利用している際、データベース名をクリックしても、処理が追いつかずに選択が反映されないままエクスポート画面へ移動してしまうことが原因のひとつと考えられます。
作業を急ぎたい気持ちを抑えて、「今、どの階層を表示しているか」を画面上のテキストで一呼吸おいて確認するのが、エラーを未然に防ぐ一番の近道です。
サーバー移転で同じエラーに悩んでいる方は、ぜひ試してみてくださいね!
