WordPress 站點遷移、改版、安全加固時,直接操作資料庫往往比後台點擊高效得多。本文精選 10 個高頻維護 SQL,**執行前請務必完整備份資料庫**。
預設表前綴為 wp_,若安裝時自訂請自行替換 (如 wpv2_)。
UPDATE wp_posts
SET post_author = '新用戶ID'
WHERE post_author = '舊用戶ID';
UPDATE wp_users
SET user_login = '新用戶名'
WHERE user_login = 'admin';
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';
UPDATE wp_posts
SET guid = REPLACE(guid, 'https://舊域名.com', 'https://新域名.com');
UPDATE wp_options
SET option_value = REPLACE(option_value, 'https://舊域名.com', 'https://新域名.com')
WHERE option_name IN ('home', 'siteurl');
DELETE FROM wp_comments WHERE comment_type = 'pingback';
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'src="https://舊域名.com', 'src="https://cdn.新域名.com');
UPDATE wp_posts
SET guid = REPLACE(guid, 'https://舊域名.com', 'https://cdn.新域名.com')
WHERE post_type = 'attachment';
SELECT * FROM wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id
WHERE wtt.taxonomy = 'post_tag' AND wtt.count = 0;
UPDATE wp_users
SET user_pass = MD5('新密碼')
WHERE user_login = '你的用戶名';
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'https://舊域名.com', 'https://新域名.com');
mysqldump -u root -p wp_db > wp_backup_$(date +%F).sqlSTART TRANSACTION; ...; COMMIT; (或 ROLLBACK;)。LIMIT 分批執行。工具推薦: phpMyAdmin、Adminer、Navicat、DBeaver、MySQL Workbench 均可執行上述 SQL。