Skip to content

Record / Memo

WordPress テーブル接頭辞を変更したら、「このページにアクセスするための十分なアクセス権がありません。」

複数の WordPress を 1つのデータベースで動かす際、テーブル接頭辞 (prefix) というもので各 WordPress を識別するようになっている。prefix の指定は以下。 // wp-config.ph

複数の WordPress を 1つのデータベースで動かす際、テーブル接頭辞 (prefix) というもので各 WordPress を識別するようになっている。prefix の指定は以下。

// wp-config.php 67行目辺り
$table_prefix = 'wp_';

既に動いている複数の WordPress を1つのデータベースに統合したかったので、

  • テーブル接頭辞を変更
  • 対応するテーブル名を変更 (phpMyAdmin にて)

上記を行い、WordPress の管理画面にアクセスすると、

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

というメッセージのみ表示され、アクセスできなかった。

原因は、データベースのデータにテーブル名「wp_」が入っているためで、

以下のSQLで変更したところ、無事管理画面にアクセスできた。

※テーブル接頭辞を「wp_」→「wp6_」に変更。

UPDATE wp6_options SET option_name = 'wp6_user_roles' WHERE option_name = 'wp_user_roles';
UPDATE wp6_usermeta SET meta_key = 'wp6_capabilities' WHERE meta_key = 'wp_capabilities';
UPDATE wp6_usermeta SET meta_key = 'wp6_user_level' WHERE meta_key = 'wp_user_level';
UPDATE wp6_usermeta SET meta_key = 'wp6_dashboard_quick_press_last_post_id' WHERE meta_key = 'wp_dashboard_quick_press_last_post_id';
UPDATE wp6_usermeta SET meta_key = 'wp6_user-settings' WHERE meta_key = 'wp_user-settings';
UPDATE wp6_usermeta SET meta_key = 'wp6_user-settings-time' WHERE meta_key = 'wp_user-settings-time';

Back to Discoveries