ローカル(XAMPP環境)のデータベースをエクスポートして、別のサーバーのデータベースにインポートしようと思ったら、エラーで怒られました。
以下がphpMyAdminで操作した際に表示されたメッセージです。
エラー
実行した SQL:
—
— データベース: `[db_name]`
—
CREATE DATABASE IF NOT EXISTS `[db_name]` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;MySQLのメッセージ: ドキュメント
#1044 – Access denied for user ‘[user_name]’ to database ‘[db_name]’
これ、ロリポップのサーバーにインポートしようとしたんですが、つまるところ既に存在しているデータベース上に新しいデータベースを作ろうとして怒られている感じですよね。ロリポップのMySQLって、データベース毎に管理画面へのログインが違いますから。
↓この命令がいけないってことですね。
CREATE DATABASE IF NOT EXISTS ~
「なかったら作れ」→「作れません」って流れでしょうか。
phpMyAdminでエクスポート時にCREATE DATABASE
を入れないようにできないか見てみたんですがよくわからん。
ということで、
そんなときはエディタでエクスポートしたデータを開いて、問題の一行を消してしまえ!
と消したら、あっさりうまくいきました。
ちょっと乱暴な方法のような気もしますが、エクスポートしたのが自分じゃなかった場合、エクスポートし直しもできないので、案外有効な方法かもしれません。