WordPressの引っ越しの時忘れそうなこと 「アクセス権限がありません」と言われたら

Pocket

WordPressの引っ越しで後述のような条件の時に起こる現象があります。

  • 引っ越し先のWordPressでテーブルの接頭辞が変更になる

デフォルトでは wp_ って指定するあれですね。

この時、いざ引っ越した先のWordPressにログインしようとすると・・・

このように「このページにアクセスする権限がありません。」と言われてしまう。

これはデータベース上の権限を取得できなかったことが原因で起こることで、その原因を書いてくれている記事がありました。

【WordPress】「このページにアクセスするための十分なアクセス権がありません。」の対処 – ysklog
http://ysklog.net/wordpress/2025.html

【WordPress】「このページにアクセスするための十分なアクセス権がありません。」の対処 - Java、PHP、javascriptなどのプログラミング&Wordpress、HTML、CSSなどのWeb情報ブログ(最近は雑記や仮想通貨のことなど幅広く)

こちらに紹介されていた方法で解除できるのですが、一気にできるように MySQL に流せばよい SQL を書いてみました。

この例では
もともと
wp_

であった接頭辞 を

wp2_

に変更したという前提で書いています。

コピーしてから wp_ を元の接頭辞で
wp2_ を移動先の変更後の 接頭辞で 全置換していただければ良い感じです。

update wp2_options set option_name = 'wp2_user_roles' where option_name = 'wp_user_roles';

update wp2_usermeta set meta_key = ‘wp2_capabilities’ WHERE meta_key = ‘wp_capabilities’;
update wp2_usermeta set meta_key = ‘wp2_user_level’ WHERE meta_key = ‘wp_user_level’;
update wp2_usermeta set meta_key = ‘wp2_dashboard_quick_press_last_post_id’ where meta_key = ‘wp_dashboard_quick_press_last_post_id’;
update wp2_usermeta set meta_key = ‘wp2_user-settings’ where meta_key = ‘wp_user-settings’;
update wp2_usermeta set meta_key = ‘wp2_user-settings-time’ where meta_key = ‘wp_user-settings-time’;

それでアクセスしてみてください。
以上でーす。