首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

WordPress 修改數據庫表前綴完整教程:wp_ → 自定義前綴提升安全性

     編輯:MySQL 資料庫相關知識

WordPress 默認表前綴 wp_ 易受自動化攻擊腳本掃描。修改為隨機前綴(如 wpjam_)可顯著降低 SQL 注入、自動化利用風險。本文提供完整操作流程:備份 → 修改 wp-config.php → 重命名 11 張核心表 → 更新 wp_options、wp_usermeta 內部引用 → 驗證。

一、前置準備(必做)

  • 完整備份數據庫:mysqldump -u root -p --single-transaction --routines --triggers wpdb > wpdb_backup_$(date +%F).sql
  • 開啟維護模式:根目錄創建 .maintenance 文件或啟用維護插件。
  • 確認新前綴:僅含字母、數字、下劃線,以 _ 結尾(如 wpjam_)。

二、修改 wp-config.php

$table_prefix = 'wpjam_';  // 原為 'wp_'

三、批量重命名表(11 張核心表)

RENAME TABLE `wp_commentmeta` TO `wpjam_commentmeta`;
RENAME TABLE `wp_comments` TO `wpjam_comments`;
RENAME TABLE `wp_links` TO `wpjam_links`;
RENAME TABLE `wp_options` TO `wpjam_options`;
RENAME TABLE `wp_postmeta` TO `wpjam_postmeta`;
RENAME TABLE `wp_posts` TO `wpjam_posts`;
RENAME TABLE `wp_terms` TO `wpjam_terms`;
RENAME TABLE `wp_term_relationships` TO `wpjam_term_relationships`;
RENAME TABLE `wp_term_taxonomy` TO `wpjam_term_taxonomy`;
RENAME TABLE `wp_usermeta` TO `wpjam_usermeta`;
RENAME TABLE `wp_users` TO `wpjam_users`;

若有插件創建額外表,按相同規則手動補充重命名。

四、更新表內部引用的前綴

1. wp_options 表

UPDATE `wpjam_options` 
SET `option_name` = REPLACE(`option_name`, 'wp_', 'wpjam_')
WHERE `option_name` LIKE 'wp_%';

涉及鍵:wp_user_roles、wp_dashboard_quick_press_last_post_id 等。

2. wp_usermeta 表

UPDATE `wpjam_usermeta` 
SET `meta_key` = REPLACE(`meta_key`, 'wp_', 'wpjam_')
WHERE `meta_key` LIKE 'wp_%';

涉及鍵:wp_capabilities、wp_user_level、wp_dashboard_quick_press_last_post_id 等。

五、驗證與後續

  • 登錄後台,檢查「設置 → 常規」「用戶 → 所有用戶」正常。
  • 前台瀏覽文章、分類、標簽、搜索、評論功能。
  • 停用維護模式。
  • 保留備份 30 天,確認無異常後可清理。

六、自動化腳本參考

可將上述 SQL 封裝為 Shell/Python 腳本,參數化新前綴,實現一鍵遷移,減少人為錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved