運用後にテーブルのプレフィックスを変更する場合の注意点

テーブルのプレフィックスはwp-config.phpで設定します。

まず、データベースの内容をエクスポートします。

次に、「wp-config.php」を書き換えます。

次にテーブル名を変更するか、wp-admin/wp-install.phpを実行して、新たにテーブルを作成します。

wp-config.phpに合わせて、エクスポートしたSQL中のテーブル名を置換します。

PhpMyAdmin等を使って、データをインポートします。

これで、トップページへ行けばちゃんと表示されるのですが、

管理画面へログインしようとすると、下記のエラーが発生します。

このページにアクセスするための十分なアクセス権がありません。

実は、テーブルのデータ中にもテーブル名が格納されているため、テーブル名に不一致が起こっているのです。

以下のSQLを発行してデータを補正します。

ここでは、新しいプレフィックスを「wp_foo」とした場合を想定しています。それぞれのプレフィックスに合わせて変更していください。

update wp_foo_options set option_name = 'wp_foo_user_roles' where option_name = 'wp_user_roles';
update wp_foo_usermeta set meta_key = 'wp_foo_capabilities' where meta_key = 'wp_capabilities';
update wp_foo_usermeta set meta_key = 'wp_foo_dashboard_quick_press_last_post_id' where meta_key = 'wp_dashboard_quick_press_last_post_id';
update wp_foo_usermeta set meta_key = 'wp_foo_user-settings' where meta_key = 'wp_user-settings';
update wp_foo_usermeta set meta_key = 'wp_foo_user-settings-time' where meta_key = 'wp_user-settings-time';
update wp_foo_usermeta set meta_key = 'wp_foo_user_level' where meta_key = 'wp_user_level';

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です