WordPress接頭辞(プレフィックス)の変更方法・手順

how-to-change-prefix

WordPressのサーバー移転を行う際、新しいサーバーのデータベースに、移行したいWordPressのデータをインポートする作業が必要です。

データベース1つに対して1つのWordPressをインストールするのが理想的ですが、場合によっては1つのデータベースに複数のWordPressをインストールする必要がでてくることがあります。例えばサーバーの契約プランにより、データベースが1つしか使えない場合です。

さらに、そのデータベースに既に他のWordPressデータがインストールされていると、同じデータベースにインストールしなければいけません。その場合、移転するWordPressの接頭辞が既存のWordPressの接頭辞と被らないように、変更してからインポートする必要があるのです。

本記事では、接頭辞(プレフィックス)とはどういったものなのか、さらに接頭辞の変更方法について詳しく解説いたします。

接頭辞(プレフィックス)とは?なぜ変更が必要なの?

接頭辞とは、データベース内でどのデータがどのサイトのデータなのかを判別するためにデータ(テーブル)名の先頭につける名前のことを指します。接頭辞は下記のように、「wp-config.php」の中で‘wp_’や‘wp〇〇_’のように記述されています。

wp-prefix-change1

接頭辞の変更が必要な理由

1つのデータベースに対して、1つのWordPressデータのみをインポートする場合は接頭辞の変更はしなくてもOKです。(セキュリティ面を考えれば変更しておく方が望ましい)

しかし、1つのデータベースに複数のWordPressをインストールする場合、接頭辞が同じだと既に入っているWordPressのデータが新しいデータに上書きされてしまいます。

既存のデータを消してしまわないために、接頭辞の変更が必要になるのです。

接頭辞(プレフィックス)の変更方法・手順

All In One WP Security & Firewall」や「Change Table Prefix」などのプラグインを使用して接頭辞の変更を行う方法もありますが、今回はサーバー移転の際に接頭辞の変更が必要な場合を想定していますので、プラグインを使用した接頭辞の変更はできません。

そのため、ここではプラグインを使用せずに接頭辞を変更する方法について解説していきます。
作業を始める前に、必ずバックアップを取っておいてください。

phpMyAdminでデータベースの書き換えを行う

1、まず初めに、phpMyAdminにログインします。
2、画面左側のメニューから使用しているデータベース名を選択します。
3、「SQL」タブを選択します。
4、接頭辞を書き換えるクエリを入力後「実行する」をクリックします。
     接頭辞を書き換えるクエリは、下記を参考にしてください。
    (下記は「wp26_」から「wp30_」に書き換える場合です)

ALTER TABLE wp26_commentmeta RENAME TO wp30_commentmeta;
ALTER TABLE wp26_comments RENAME TO wp30_comments;
ALTER TABLE wp26_links RENAME TO wp30_links;
ALTER TABLE wp26_options RENAME TO wp30_options;
ALTER TABLE wp26_postmeta RENAME TO wp30_postmeta;
ALTER TABLE wp26_posts RENAME TO wp30_posts;
ALTER TABLE wp26_terms RENAME TO wp30_terms;
ALTER TABLE wp26_term_relationships RENAME TO wp30_term_relationships;
ALTER TABLE wp26_term_taxonomy RENAME TO wp30_term_taxonomy;
ALTER TABLE wp26_usermeta RENAME TO wp30_usermeta;
ALTER TABLE wp26_users RENAME TO wp30_users;

5、「SQLは正常に実行されました」と表示されたら、引き続きクエリを入力し「実行する」をクリックします。
入力するクエリは下記を参考にしてください。
(下記は「wp26_」から「wp30_」に書き換える場合です)

UPDATE wp30_options SET option_name = ‘wp30_user_roles’ WHERE option_name = ‘wp26_user_roles’;
UPDATE wp30_usermeta SET meta_key = ‘wp30_capabilities’ WHERE meta_key = ‘wp26_capabilities’;
UPDATE wp30_usermeta SET meta_key = ‘wp30_user_level’ WHERE meta_key = ‘wp26_user_level’;
UPDATE wp30_usermeta SET meta_key = ‘wp30_dashboard_quick_press_last_post_id’ WHERE meta_key = ‘wp26_dashboard_quick_press_last_post_id’;
UPDATE wp30_usermeta SET meta_key = ‘wp30_user-settings’ WHERE meta_key = ‘wp26_user-settings’;
UPDATE wp30_usermeta SET meta_key = ‘wp30_user-settings-time’ WHERE meta_key = ‘wp26_user-settings-time’;

6、「SQLは正常に実行されました」と表示されたら、データベースの書き換えは完了です。

今回は「wp26_」から「wp30_」に書き換える場合の方法をご紹介していますが、WordPressのデフォルトの設定では「wp_」となっています。

デフォルトのままにしておくと、SQLへの不正アクセスが容易になりますのでとても危険です。WordPressの接頭辞は、特に管理者が記憶しておく必要はありませんのでランダムな文字列でも問題ありません。

接頭辞を複雑な文字列にしておくことでセキュリティを強化することができますので、その点も意識しながら接頭辞を変更するようにしてください。

「wp-config.php」の書き換えを行う

1、FTPソフトを使用してWordPressをインストールしたフォルダ内にある「wp-config.php」をダウンロードします。
2、「wp-config.php」をテキストエディタで開き「$table_prefix」の後ろ‘wp〇〇_’の部分を変更します。
(今回は「wp30_」に書き換える場合の記述です)

wp-prefix-change2

3、上書き保存後、「wp-config.php」をサーバーにアップロードすれば書き換えは完了です。

作業完了後、エラーが出てダッシュボードにアクセスできない場合は、データベースの書き換え作業に漏れがあった可能性が考えられます。元の接頭辞(今回であれば「wp26_」)で検索をかけて置換できていない箇所はないか、再度確認してみてください。

まとめ

今回ご紹介したように、WordPressの接頭辞を変更するためにはphpMyAdminからSQL文を入力する必要があります。データベースやSQL文に慣れていない方にとっては、難しい作業だと感じてしまうでしょう。

失敗するとエラーが出たり、最悪の場合既存のデータが上書きされてしまったりする可能性もありますので注意が必要です。失敗したくない方や、本記事を読んでもよくわからないという方は弊社までお気軽にご相談ください。

conrtact-form

役に立ったと感じたらシェアお願いします!
SNSにて最新の情報を発信しております。
WordPressの引越しでお困りではないですか?!
  • WordPressを新しいサーバーに引越したいけどやり方が分からない
  • 無料ブログをWordPressに移行したいけど自分でやるのは不安
などのお悩みはないですか?

私たちサイト引越し屋さんは、日本初のWordPress専門サーバー移転業者として、毎月たくさんのサイトを引越しさせていただいております。

もしあなたもお悩みの場合は下記フォームよりお気軽にご相談ください。

conrtact-form