在過去的十年中,MySQL已經成為廣受歡迎的資料庫,而WordPress部落格使用的是MySQL資料庫,雖然使用外掛可以解決一些問題,但是實現某些特殊任務的時候,在phpMyAdmin中執行SQL語句是最簡潔的方法,這裡就總結八個有用的WordPress系統的SQL語句,用來解決一些實際碰到的問題。
1.建立備份資料庫
備份資料庫是首先要做的事情,只需要透過以下方法就可以簡單備份資料庫:
登入phpMyAdmin後。選擇你的WordPress資料庫,然後點擊“匯出”按鈕,選擇一種壓縮方式(可以使用gzip)並點擊“執行”按鈕,當瀏覽器提示是否下載的時候,點“是”,將資料庫檔案下載到本地。
2.批量刪除文章修訂
WordPress2.6以後的版本增加了一個Post revisions功能,雖然有點用,但文章修訂增加了你資料庫的大小,我們可以選擇批量刪除。
登入phpMyAdmin後執行下面的SQL語句即可批次刪除。
DELETE FROM wp_posts WHERE post_type = "revision";
3、批量刪除垃圾評論
一個真實的故事是,我的一個朋友在網上建立了一個博客,有次他花了幾天時間外出度假,沒有上網,當他回來的時候,登錄自己的博客,看到有5000多條評論等待審核,當然,大多數都是垃圾評論,要手動刪除這些評論要花大量時間,因此我們可以使用以下辦法。
登入phpMyAdmin後執行下面的SQL語句。
DELETE from wp_comments WHERE comment_approved = '0';
要小心,雖然這種解決方案對於處理數百萬的垃圾平郵非常有用,但是也會清除未經批准的評論,因此最好還是安裝使用Akismet來對付垃圾評論。
4.修改文章屬性
你安裝WordPress後,admin帳戶就創建了,不少人都錯誤的使用這個帳號來寫博客,直到他們認識到,這並不是個人帳號。
解決的方法,每篇文章修改作者屬性需要花費大量的時間,而下面的這個SQL語句可以幫你快速完成這個功能。
首先你要找到你正確的使用者名,使用下面的SQL語句可以找到你的使用者ID號碼。
SELECT ID, display_name FROM wp_users;
假設這個ID為NEW_AUTHOR_ID,而管理員admin的ID為OLD_AUTHOR_ID,接著,執行下面的SQL語句。
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
5.手動重設密碼
很多人為了保護自己的部落格不被人黑掉,使用了很複雜的密碼,這雖然是一件好事,但也經常會發生遺忘管理員密碼的事情。
當然,透過電子郵件可以發送給你WordPress重設密碼的鏈接,但如果你無法訪問你的郵件地址,那麼就只好使用下面的SQL語句來重置你的密碼了。
UPDATE wp_users SET user_pass = MD5('PASSWORD') WHERE wp_users.user_login ='admin' LIMIT 1;
MD5是MySQL內建的雜湊函數,用於將密碼轉換為雜湊值。
6.更改WordPress的網域
你可能有時候會想要更改你部落格的域名,但是WordPress會將你的網域儲存在資料庫中,因此你要使用下面的SQL語句來修改。
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
接著,你還要使用下面的SQL將文章的GUID也進行修改。
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');
最後,使用下面的語句將文章裡所有舊網域替換為新網域。
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
7.顯示SQL查詢數量
在你有話部落格效能的時候,了解到查詢資料庫的數量是非常重要的,為了減少資料庫查詢,我們需要知道在一個頁面上到底有多少個查詢。
這次,不需要登入phpMyAdmin了,你只需要修改footer.php文件,在文件結尾增加下面幾行程式碼即可。
<?php if (is_user_logged_in()) { ?>
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
<?php } ?>
8.恢復你的WordPress資料庫
當你的資料庫因為某些原因(駭客或升級錯誤)被損壞或遺失了,如果你有備份的話,那可以恢復你的WordPress資料庫。
登入phpMyAdmin,選擇你的WordPress資料庫,點選「匯入」按鈕,點選「瀏覽」按鈕,然後從你的硬碟選擇備份文件,點選「執行」按鈕就可以將資料庫匯入。
如果順利的話,你的WordPress功能將會恢復正常。