web-dev-qa-db-ja.com

既存のWordPressサイトのテーブルプレフィックスの変更

誰かがすでに確立されているサイトのWordpressのテーブルプレフィックスを使って支援できることを願っています。

新しいテーブルプレフィックスを反映するようにDBとwp-configファイルの両方の中の既存のテーブルプレフィックスを変更する際の最善の方法は何ですか。

実際には、それはもっとバックエンドDBの変更が必要です。

まともなプラグインはありますか、または誰かのplsが必要な手動の手順を教えてくれますか。 DBに問題が生じる可能性があることを心配しています。

ありがとう。

1
tonyf

これはかなり簡単です。あなたは phpMyAdmin または MySQL Workbench を使用してすべてのプレフィックスを変更できます。一度にテーブルを作成するか、SequelProのようなツールを使用して一度に1つずつ作成できます。手動でSQLを実行する必要がある場合、構文は次のとおりです。

RENAME TABLE `old_name` TO `new_name`;

すべてのテーブル名が更新されたら、新しいプレフィックスと一致するように$table_prefixwp-config.php値を更新するだけです。

1
Matt van Andel

手動で(SQL)、またはプラグインを使用してそれを行うべきではありません。可能ですが、非常に危険です。

カスタムテーブル(つまりプラグインテーブル)を参照することが多いWordPressコアテーブル(wp_optionsなど)があるため。さらに、これらのコアテーブルのデータの一部は(固定長と位置で)シリアル化されていることが多く、手動で変更してもバグのあるインストールになる可能性があります。

WP-CLIのようなツールを試してみるべきです。シリアル化されたデータを考慮し、すべてのデータベースを解析するので、これは実際に機能します。

1
RMS

このプラグインを使用してください。 https://wordpress.org/plugins/change-table-prefix/

OR

デフォルトのWordPressテーブルは全部で11個ありますので、手動で変更するのは面倒です。

SQLクエリ

それが、物事をより早くする理由です、私たちはあなたが使うことができるSQLクエリを持っています。

RENAMEテーブルwp_commentmeta TO wp_a123456_commentmeta; RENAMEテーブルwp_comments TO wp_a123456_comments; RENAMEテーブルwp_links TO wp_a123456_links; RENAMEテーブルwp_options TO wp_a123456_options; RENAMEテーブルwp_postmeta TO wp_a123456_postmeta; RENAMEテーブルwp_posts TO wp_a123456_posts; RENAMEテーブルwp_terms TO wp_a123456_terms; RENAMEテーブルwp_termmeta TO wp_a123456_termmeta; RENAMEテーブルwp_term_relationships TO wp_a123456_term_relationships; RENAMEテーブルwp_term_taxonomy TO wp_a123456_term_taxonomy; RENAMEテーブルwp_usermeta TO wp_a123456_usermeta; RENAMEテーブルwp_users TO wp_a123456_users;

WordPressデータベースにそれら自身のテーブルを追加するかもしれない他のプラグインのために行を追加しなければならないかもしれません。アイデアはあなたが望むものにすべてのテーブルの接頭辞を変更するということです。オプション表

プレフィックスとしてwp_を使用している他のフィールドをオプションテーブルで検索する必要があるので、それらを置き換えることができます。処理を簡単にするために、このクエリを使用します。

SELECT * FROM wp_a123456_options WHERE option_name LIKE '%wp_%'

これは多くの結果を返すでしょう、そしてあなたはこれらの行を変更するために一つずつ行く必要があります。 UserMetaテーブル

次に、接頭辞としてwp_を使用しているすべてのフィールドについてusermetaを検索する必要があるので、それを置き換えることができます。そのためにこのSQLクエリを使用します。

SELECT * FROM wp_a123456_usermeta WHERE meta_key LIKE '%wp_%'

エントリ数は、使用しているプラ​​グインの数などによって異なります。 wp_を持つものすべてを新しいプレフィックスに変更するだけです。

0
ghanshyam v