預設 admin 是暴力破解首選目標,改為不可猜測名稱提升安全性。
UPDATE wp_users
SET user_login = 'YourNewUsername'
WHERE user_login = 'Admin';
無法使用「忘記密碼」功能時,直接資料庫更新。
UPDATE wp_users
SET user_pass = MD5('new_password')
WHERE user_login = 'your-username';
先在後台「用戶」頁面滑鼠懸停作者名稱,從 URL 獲取 user_id。
UPDATE wp_posts
SET post_author = 'new-author-id'
WHERE post_author = 'old-author-id';
修訂版隨時間增長會嚴重膨脹 wp_posts、wp_postmeta、wp_term_relationships。
DELETE a, b, c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';
⚠️ 此操作永久刪除所有修訂版及其關聯 Meta 數據,不可恢復,請先備份。
外掛停用/刪除後,wp_postmeta 常遺留垃圾鍵值。
DELETE FROM wp_postmeta
WHERE meta_key = 'your-meta-key';
SELECT DISTINCT comment_author_email
FROM wp_comments;
phpMyAdmin 查詢結果 → 「匯出」→ 選擇 CSV/Excel 格式下載。
熱門文章累積大量 Pingback 膨脹資料庫。
DELETE FROM wp_comments
WHERE comment_type = 'pingback';
Akismet 標記為 spam 的評論一鍵清空。
DELETE FROM wp_comments
WHERE comment_approved = 'spam';
狀態碼對照:0=待審、1=通過、spam=垃圾。
手動刪除文章後,孤立標籤仍留在資料庫。
SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id
INNER JOIN wp_term_relationships wtr ON wtr.term_taxonomy_id = wtt.term_taxonomy_id
LEFT JOIN wp_posts wp ON wp.ID = wtr.object_id
WHERE wtt.taxonomy = 'post_tag'
AND wp.ID IS NULL
AND NOT EXISTS (
SELECT * FROM wp_terms wt2
INNER JOIN wp_term_taxonomy wtt2 ON wt2.term_id = wtt2.term_id
WHERE wtt2.parent = wt.term_id
)
ORDER BY wt.name;
結果即為無文章關聯且非父標籤的孤立標籤,可安全部除。