- WordPress
サイト引越し屋さん編集部
【コード有】WordPress接頭辞(プレフィックス)の変更方法
WordPressのサーバー移転を行う際、新しいサーバーのデータベースに、移行したいWordPressのデータをインポートする作業が必要です。
データベース1つに対して1つのWordPressをインストールするのが理想的ですが、場合によっては1つのデータベースに複数のWordPressをインストールする必要がでてくることがあります。例えばサーバーの契約プランにより、データベースが1つしか使えない場合です。
さらに、そのデータベースに既に他のWordPressデータがインストールされていると、同じデータベースにインストールしなければいけません。その場合、移転するWordPressの接頭辞が既存のWordPressの接頭辞と被らないように、変更してからインポートする必要があるのです。
本記事では、接頭辞(プレフィックス)とはどういったものなのか、さらに接頭辞の変更方法について詳しく解説いたします。
「今まで大丈夫だったんだから今後も大丈夫でしょ」
このような考えでは、万が一乗っ取られた時にページを勝手に書き換えられてしまったり、削除されてしまうなどの被害が発生します。
乗っ取りや不具合で被害を受ける方が少しでも減るように、サイト引越し屋さんではWordPress保守の無料メールセミナーをお届けしています。
「WordPressを今後も安心・安全に運用したい」
とお考えの方は是非クリックのうえ情報を受け取ってください。
>>無料のWordPress保守メールセミナーご登録はこちら
目次(クリックで飛べます!)
接頭辞(プレフィックス)とは?変更が必要になる理由
接頭辞とは、データベース内でどのデータがどのサイトのデータなのかを判別するためにデータ(テーブル)名の先頭につける名前のことを指します。接頭辞は下記のように、「wp-config.php」の中で‘wp_’や‘wp〇〇_’のように記述されています。
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_」に書き換える場合の記述です)
3、上書き保存後、「wp-config.php」をサーバーにアップロードすれば書き換えは完了です。
作業完了後、エラーが出てダッシュボードにアクセスできない場合は、データベースの書き換え作業に漏れがあった可能性が考えられます。元の接頭辞(今回であれば「wp26_」)で検索をかけて置換できていない箇所はないか、再度確認してみてください。
作業する前にはデータバックアップも忘れずに
今回ご紹介したように、WordPressの接頭辞を変更するためにはphpMyAdminからSQL文を入力する必要があります。データベースやSQL文に慣れていない方にとっては、難しい作業だと感じてしまうでしょう。
失敗するとエラーが出たり、最悪の場合既存のデータが上書きされてしまったりする可能性もありますので注意が必要です。
そのため、プレフィックス変更作業を実施する前には、必ずWordPressのデータをバックアップしておくようにしましょう。バックアップ方法は下記の記事が参考になります。
「今まで大丈夫だったんだから今後も大丈夫でしょ」
このような考えでは、万が一乗っ取られた時にページを勝手に書き換えられてしまったり、削除されてしまうなどの被害が発生します。
乗っ取りや不具合で被害を受ける方が少しでも減るように、サイト引越し屋さんではWordPress保守の無料メールセミナーをお届けしています。
「WordPressを今後も安心・安全に運用したい」
とお考えの方は是非クリックのうえ情報を受け取ってください。
>>無料のWordPress保守メールセミナーご登録はこちら
この記事を書いた人
サイト引越し屋さん編集部
日本で最も利用されているサーバー移転&保守代行サービス『サイト引越し屋さん』の中の人です。 サイト引越しに関わる技術情報をはじめ、WordPressやその他のWebサービスに関するノウハウを発信しています。 全日本SEO協会所属。
本サイトにてご提供している情報については、最新かつ正確な情報を提供するよう努力していますが、情報の正確性や完全性を保証するものではございません。また、コンテンツには一部プロモーションが含まれております。本サイトの情報を利用することによって生じたいかなる損害に対しても、当社は責任を負いかねます。情報をご利用される際は、ご自身の判断と責任において行っていただきますようお願い致します。