wordpress 導入數據庫的幾種方法

辛辛苦苦做了幾個月的博客,因爲一點小小原因,弄出了大問題!當然直接導致的結果就是----我下載重裝了博客,以前的文章等等全沒有了。。。本來有備份數據庫的,但當時電腦開了“影子系統”我忘記另外備份了,哎!~。。心疼!

近10年,MySQL數據庫廣受網絡大衆歡迎。現在,所有的WordPress博客(包括日誌,設置,評論等)都由MySQL數據庫支持。

雖然插件和代碼修改能幫助我們解決一些問題,但有時我們也不得不用phpMyAdmin 中的SQL命令或直接通過SSH訪問數據庫來解決問題。這篇文章將向大家介紹對WordPress較有用的8個SQL修改。其中每個修改版塊都提出了一個問題,並給出解決方案和註解。

 

1 備份數據庫

問題:儘管本文中所有的技巧都經過測試,但是在嘗試前請務必首先備份MySQL數據庫。

解決方法:手動備份數據庫,請按以下步驟操作:

  1. 登陸phpMyAdmin,選中要備份的數據庫。
  2. 點擊水平菜單上的“導出”按鈕。
  3. 選擇壓縮方法(我本人使用gzip),然後單擊“執行”。
  4. 服務器接着會詢問你是否下載備份,點擊“是”,然後把它存儲到硬盤。

註解:使用WP-DB-Backup插件執行數據庫備份非常方便。WordPress用戶可以安裝這個插件並定期備份數據。

2 批量刪除日誌修訂本

問題:日誌修訂本是2.6的新增功能,雖然十分有用,但這也增加了MySQL數據庫的負擔。你當然可以手動刪除修訂本,但這將十分麻煩且耗時過長。

解決方法:這個解決辦法非常簡單。我們可以使用SQL語句批量刪除日誌修訂本。

  1. 登陸phpMyAdmin,選中你的WordPress數據庫。
  2. 單擊“SQL”按鈕。把以下窗口中的命令複製粘貼到SQL命令下:DELETE FROM wp_posts WHERE post_type = "revision";
  3. 完成了!刪除掉的日誌爲你騰除了大量數據庫空間!

註解:wp_posts 表格包含一個名爲post_type 的字段。這個字段可被賦予諸如日誌,頁面,修訂本的值。當我們需要刪除日誌修訂本時,只要運行wp_posts表格中相對應的修訂本刪除語句就行了。

3 快速刪除垃圾評論

問題:我的一個朋友前不久開通博客後,一直在網上努力推廣他的博客。 在他外出度假歸來時,竟發現自己有5000多條評論等待審覈!當然,其中多數都是垃圾廣告。但他認爲自己不得不逐個審覈以防刪除了正常評論。

解決方法:慶幸的是,他把這個問題告訴了我。當我告訴他可以使用 SQL時,他已經審覈45分鐘了。

  1. 登陸phpMyAdmin,選中你的WordPress數據庫。
  2. 單擊“SQL”按鈕。把以下窗口中的命令複製粘貼到SQL命令下:
    DELETE from wp_comments WHERE comment_approved = '0';
  3. 完成了!現在可以享受清潔無污染的數據庫環境了!

註解:wp_comments表格中包含名爲comment_approved的域,它是一個boolean值(1或0)。通過審覈的評論值爲1,等待審覈的值爲0.運行以上語句,其實就是刪除還沒有通過審覈的評論。

此操作要謹慎執行。以上語句不僅能幫我們刪除大量垃圾評論,同時也會刪除無效的沒有通過審覈的評論。如果你還沒有使用Akismet,現在就安裝以打擊垃圾評論吧。

4 更改日誌屬性

問題:管理帳戶在安裝WordPress時就已創建。但許多博主把這個帳戶誤以爲就是寫日誌的帳號,以致到後來才發現這不是私人帳號。

解決方法:更改所有日誌的作者屬性要花費很多時間,但使用SQL就不用這麼麻煩了。

  1. 登陸phpMyAdmin,選中你的WordPress數據庫。
  2. 首先,打開SQL語句窗口,執行以下命令以獲取正確的作者ID:
    SELECT ID, display_name FROM wp_users;
  3. phpMyAdmin會顯示許多WordPress用戶的ID。其中NEW_AUTHOR_ID是最近寫日誌的作者的ID, OLD_AUTHOR_ID是原始管理員的ID。
  4. 交換NEW_AUTHOR_ID 和 OLD_AUTHOR_ID ID後,運行以下語句:
    UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
  5. 完成了!以前的日誌屬性現在已改爲你剛剛設置的了!

5 手動重設密碼

問題:爲了增加博客安全性,許多博主選擇不易被破解的密碼,如u7*KoF5i8_。這當然很好,但問題在於博主自己忘記密碼的事情也時常發生啊。

解決方法:密碼丟失後,WordPress會給你郵箱發送密碼重設鏈接。但如果你在註冊時使用的郵箱現已不可用,或你想使用簡單語句執行這個操作的話,可參考以下步驟:

  1. 登陸phpMyAdmin,選中你的WordPress數據庫並打開SQL窗口。
  2. 輸入以下語句(假設你的用戶名是“admin”):
    UPDATE `wp_users` SET `user_pass` = MD5('PASSWORD') WHERE `wp_users`.`user_login` =`admin` LIMIT 1;
  3. 完成了!你的密碼已更改成功。

註釋:用戶密碼存儲在wp_users表格中。當然,WordPress使用了MD5哈希保護密碼。

我們要使用“UPDATE” SQL語句和內置的MD5() MySQL函數來把密碼轉化爲MD5算法形式,然後更新。“WHERE”從句使系統只更新管理員的密碼。不帶有“WHERE”從句會導致系統更新所有的密碼。

6 更改域名

問題:雖然我們並不主張這樣做,但也許有時你需要在保留博客和數據的同時改變博客的域名。由於WordPress把域名存儲在數據庫中,所以爲了把新域名和博客連接起來,你必須更改數據庫。

解決方法:

  1. 登陸phpMyAdmin,選中你的WordPress數據庫。
  2. 點擊“SQL”,打開SQL命令窗口,輸入以下命令更改URL:
    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';
  3. 使用以下語句替代所有日誌的相對URL(guid全局唯一標識符)
    UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');
  4. 搜索wp_posts表並替代其中的URL,以確保沒有老的URL存在了:
    UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
  5. 完成!現在可以使用新URL登陸WordPress控制檯了。

註解:爲了更快地更改WordPress域名,我選擇使用超級有用的MySQL函數“replace,”,這會完全替代所有需要替代的內容。

7 在博客上顯示SQL查詢數量

問題:瞭解輸入到數據庫的查詢數量對優化博客載入時間非常重要。爲了減少查詢,我們首先要知道單個頁面的查詢數量。

解決方法:

  1. 打開主題中的footer.php文件,添加以下代碼:
    <?php if (is_user_logged_in()) { ?>
    <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
    <?php } ?>
  2. 保存文件,然後訪問博客。在頁腳,系統已經顯示WordPress數據庫的查詢數目,及查詢所用時間。

註解:許多用戶似乎都不瞭解這個功能。get_num_queries()函數會顯示頁面載入時執行的查詢數目。

以上代碼只會對註冊用戶顯示查詢數目,因爲訪客和搜索引擎並不需要知道這些內容。但如果你想公開的話,直接刪除if (is_user_logged_in())這個條件語句就可以了。

8 恢復WordPress數據庫

問題:如果修改或升級過程或其它原因造成了博客數據的丟失或損壞,希望你有備份的數據庫。這樣,你可以把備份的數據庫導入到數據庫中以彌補損失。

解決辦法:

  1. 登陸phpMyAdmin,選擇你的WordPress數據庫。
  2. 單擊水平菜單上的“導入”按鈕。
  3. 點擊“瀏覽”,選擇硬盤上最新備份的數據庫。
  4. 單擊“執行”。如果一切正常的話,你的數據庫現在已在運行了!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章