2013-07-12

WordPressのデータベース接頭辞を変更する

WordPress をインストールして少し利用した後に、データベース接頭辞(プレフィクス / prefix)を変更しました。そのときのメモを残します。

環境

  • WordPress 3.5.1 (さくらインターネットレンタルサーバ スタンダードプランの「クイックインストール」機能でインストールしたもの)
  • MySQL 5.5 (同レンタルサーバで作成したデータベース)

手順

便宜上、変更前の接頭辞を「wp1_」、変更後の接頭辞を「wp2_」とします。
1. 事前準備
データベースの変更部分を確認します。 今回は次の変更箇所(テーブル名のリネーム、テーブル内データの変更)でよさそうでした。 WordPress のバージョンや利用している WordPress プラグインにより多少違う可能性があるので注意。 データベースを一通りチェックし、「wp1_」が使われている箇所を洗い出します。

さくらインターネットレンタルサーバ(以下「さくら」といいます)の場合、 サーバコントロールパネル > データベースの設定 > 管理ツール ログイン から phpMyAdmin の管理画面が開きますので、そこから確認できます。

テーブル名のリネーム:
ALTER TABLE wp1_commentmeta RENAME TO wp2_commentmeta;
ALTER TABLE wp1_comments RENAME TO wp2_comments;
ALTER TABLE wp1_links RENAME TO wp2_links;
ALTER TABLE wp1_options RENAME TO wp2_options;
ALTER TABLE wp1_postmeta RENAME TO wp2_postmeta;
ALTER TABLE wp1_posts RENAME TO wp2_posts;
ALTER TABLE wp1_terms RENAME TO wp2_terms;
ALTER TABLE wp1_term_relationships RENAME TO wp2_term_relationships;
ALTER TABLE wp1_term_taxonomy RENAME TO wp2_term_taxonomy;
ALTER TABLE wp1_usermeta RENAME TO wp2_usermeta;
ALTER TABLE wp1_users RENAME TO wp2_users;

テーブル内データの変更:
UPDATE wp2_options SET option_name = 'wp2_user_roles' WHERE option_name = 'wp1_user_roles';
UPDATE wp2_usermeta SET meta_key = 'wp2_capabilities' WHERE meta_key = 'wp1_capabilities';
UPDATE wp2_usermeta SET meta_key = 'wp2_user_level' WHERE meta_key = 'wp1_user_level';
UPDATE wp2_usermeta SET meta_key = 'wp2_dashboard_quick_press_last_post_id' WHERE meta_key = 'wp1_dashboard_quick_press_last_post_id';
UPDATE wp2_usermeta SET meta_key = 'wp2_user-settings' WHERE meta_key = 'wp1_user-settings';
UPDATE wp2_usermeta SET meta_key = 'wp2_user-settings-time' WHERE meta_key = 'wp1_user-settings-time';

また、念のためデータベース等のバックアップをしておきます。
2. データベースを変更する
1.のSQLコードを実行します。
さくらの場合、
phpMyAdmin の管理画面を開く > データベースを選択 > SQL
から実行できます。
3. wp-config.php を変更する
WordPress インストールディレクトリ直下の wp-config.php を任意のエディタで開き、次の箇所を変更します。

変更前:
$table_prefix = 'wp1_';

変更後:
$table_prefix = 'wp2_';

ウェブブラウザで変更後の WordPress サイトを確認し、正常動作していれば完了です。

0 件のコメント: