WordPressサイトのサーバー移行時(お名前.com 共用サーバーSDからXserverへの移行)に、phpMyAdminでSQLファイルをインポートする際に下記のSQL文エラーが出ました(MySQLのメッセージ:#1044 – Access denied for user~)。
CREATE DATABASE IF NOT EXISTS `データベース名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
これは、旧サーバーからのSQLファイルエクスポート時に、生成オプションの追加コマンド「CREATE DATABASE / USE コマンドを追加する」にチェックを入れてエクスポートしたためです。このチェックを入れてエクスポートすると、SQLに下記の記述が追加されます。
CREATE DATABASE IF NOT EXISTS `データベース名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `データベース名`;
これは、`データベース名`に記述されたデータベースが無い場合は作成するというオプションコマンドですが、共用サーバーではデータベースを作成する特権を与えられていないのでエラーとなります。
今回は既にあるデータベースへの上書きでしたので、SQLファイルをテキストエディタで開き、前述の2行を削除〈CREATE DATABASE IF NOT EXISTS~とUSE~を削除。USE~は無い場合もあるようです。)し、正常にインポートしました。
以上、ご参考になれば幸いです。ありがとうございます。
コメント