
WardPress では、テーブル名にプレフィクスをつけて、各ブログの区別をする事ができます。
プレフィクスとは、「wp_」とついている例のアレです。
今回は、このプレフィクスを変更したくなった場合の注意点をまとめてみます。
前提として、今回の記事は、WordPressのバージョンは2.6、データベースはMySQLを使用しています。
※注意!データベースをいじる前に、必ずバックアップを取ってください。また、この記事により問題が起きたとしても、当ブログでは責任は負いかねますのでご了承ください
プレフィクスは、wp_config.php で
$table_prefix = 'wp_';
として指定しています。
今回は「wp_」を「wp_test_」に変更してみます。
まずはその wp_config.php を書き換えます。
$table_prefix = 'wp_test_';
次に、MySQL からテーブル名を変更します。
ALTER TABLE `wp_comments` RENAME `wp_test_comments`; ALTER TABLE `wp_links` RENAME `wp_test_links`; ALTER TABLE `wp_options` RENAME `wp_test_options ALTER TABLE `wp_postmeta` RENAME `wp_test_postmeta`; ALTER TABLE `wp_posts` RENAME `wp_test_posts`; ALTER TABLE `wp_term_relationships` RENAME `wp_test_term_relationships`; ALTER TABLE `wp_term_taxonomy` RENAME `wp_test_term_taxonomy`; ALTER TABLE `wp_terms` RENAME `wp_test_terms`; ALTER TABLE `wp_usermeta` RENAME `wp_test_usermeta`; ALTER TABLE `wp_users` RENAME `wp_test_users`;
これで完了です。いざ管理画面にログイーン!
このページにアクセスするための十分なアクセス権がありません
ええ!権限がなくなった!なんで!
はい。これは、変更前のプレフィクス('wp_')を使用したデータが、データベース内に存在してしまっているからです。
それぞれ、ちゃんとしたプレフィクスに変更してやる必要があります。
具体的には「wp_options」テーブルの「option_name」カラムの中の「wp_user_roles」、
「wp_usermeta」テーブルの「meta_key」カラムの中の「wp_capabilities」、
同じく「wp_usermeta」テーブルの「meta_key」カラムの中の「wp_user_level」を、
それぞれ直します。
UPDATE wp_test_options SET option_name = 'wp_test_user_roles' WHERE option_name = 'wp_user_roles'; UPDATE wp_test_usermeta SET meta_key = 'wp_test_capabilities' WHERE meta_key = 'wp_capabilities'; UPDATE wp_test_usermeta SET meta_key = 'wp_test_user_level' WHERE meta_key = 'wp_user_level';
これで OK。
管理画面にログインしてみて、無事にログインできれば完了です。
















コメント
非常に助かりました。ありがとうございます。
abecchi | 2009年05月09日 01:06
コメントありがとうございます。
お役にたてましたなら、幸いです。
今後ともバシャログをよろしくおねがいします!
kimoto | 2009年05月11日 09:59
同じく助かりました!
DBの移行は面倒ですねぇ(>_<)
shun | 2009年10月23日 13:14
コメントありがとうございます。
お役に立てましたようで幸いです!
config ファイルをいじれば OK なのかと思いますよね。
まさかそのデータを DB に入れて使うとは思いませんでした。
DB の移行はいろいろと面倒ですよね。
文字コード関連でトラブルがありましたら、こちらも参考にしてみてください。
http://c-brains.jp/blog/wsg/07/06/26-184612.php
今後ともバシャログ。をよろしくお願いします!
kimoto | 2009年10月23日 14:29
ありがとうございました。
セキュリティ向上ということでテーブルのプリフィクスを変更したところいきなり同様の症状が出て困っていました。
記載された内容を自サイトのプレフィクス用に直してSQLを実行したところみごとに問題解決いたしました。極めて有効な情報を公開していただいていることに深く感謝いたします。ありがとうございました。本当に助かりました。
unisol | 2010年10月24日 21:55
コメントありがとうございます!
お役に立てたようでなによりです。
この部分、困っている方は多いようですが、ワードプレス側では直す気は特にないんですかね…
今後ともバシャログ。をよろしくお願いします!
kimoto | 2010年10月25日 08:50