WordPressをインストールした際に、特に何も指定しなければ、作成されるデータベースのテーブルには「wp_」という接頭辞が付きます。
これをデフォルトのままにしておくと、テーブル名が簡単にバレてしまうので、データベースを不正操作する攻撃を受ける可能性もあります。
そこで今回は、テーブルの接頭辞を変更する手順を紹介したいと思います。
WordPressで使用しているデータベーステーブルの接頭辞を変更する手順
以下は、デフォルトの接頭辞「wp_」から「new_wp_」に変更する手順です。接頭辞は適宜置き換えてください。
なお、作業前に必ずバックアップを取りましょう。
1. phpMyAdminでデータベースにアクセスします。
2. 上部メニューから「SQL」を選択します。
3. 以下のSQL文を実行します。
ALTER TABLE wp_commentmeta RENAME TO new_wp_commentmeta; ALTER TABLE wp_comments RENAME TO new_wp_comments; ALTER TABLE wp_links RENAME TO new_wp_links; ALTER TABLE wp_options RENAME TO new_wp_options; ALTER TABLE wp_postmeta RENAME TO new_wp_postmeta; ALTER TABLE wp_posts RENAME TO new_wp_posts; ALTER TABLE wp_term_relationships RENAME TO new_wp_term_relationships; ALTER TABLE wp_term_taxonomy RENAME TO new_wp_term_taxonomy; ALTER TABLE wp_usermeta RENAME TO new_wp_usermeta; ALTER TABLE wp_users RENAME TO new_wp_users; ALTER TABLE wp_terms RENAME TO new_wp_terms;
プラグインなどで上記以外のテーブルが作成されている場合は、その分も追加してください。
4. 続いて以下のSQL文を実行します。
UPDATE new_wp_options SET option_name = 'new_wp_user_roles' WHERE option_name = 'wp_user_roles'; UPDATE new_wp_usermeta SET meta_key = 'new_wp_capabilities' WHERE meta_key = 'wp_capabilities'; UPDATE new_wp_usermeta SET meta_key = 'new_wp_user_level' WHERE meta_key = 'wp_user_level';
このSQL分は、テーブル内のデータに含まれる接頭辞を変更するために実行します。
プラグインなどによって追加された上記以外のテーブル内にも、接頭辞を含むデータがないかチェックし、接頭辞に関する情報が存在すれば同じようにUPDATEを実行してください。
5. 最後にwp-config.php内の「$table_prefix」を新しい接頭辞に変更します。
$table_prefix = 'new_wp_';
これで作業は完了です。
あとがき
手順を間違えたり、余計な部分を変更してしまうと、WordPressにアクセスできなくなってしまうので、作業前には必ずバックアップを取ってください。
何かあったら速やかにデータベースを元に戻しましょう。