優質外部連結結構的立體示意圖

虛擬主機資料庫怎麼管?建立、備份、搬家到效能與資安的實務重點

Posted by:

|

On:

|

架好網站之後,多數人只記得網址、後台帳號和主機控制台的登入資訊,很少留意在背後存放所有文章、訂單與會員資料的虛擬主機資料庫,直到後台跳出資料庫連線錯誤、搬家匯入失敗,或網站越來越慢卻找不出原因,才發現自己對它幾乎一無所知。這篇文章寫給用虛擬主機經營WordPress或其他動態網站的管理者與中小企業主,從資料庫的角色、建立與連結方式,一路談到管理介面、方案限制、備份搬家、資安與效能,讓你不必變成工程師,也能把這個看不見的部分顧好。

虛擬主機資料庫裝的是什麼?哪些網站少了它就跑不起來

在虛擬主機上,一個動態網站由兩部分組成:檔案空間裡的程式碼、佈景主題與圖片,以及資料庫裡的結構化資料。以WordPress為例,後台寫的文章、留言、外掛設定值、使用者帳號與網站選項,全部以資料表的形式存在資料庫中,檔案空間裡反而找不到這些文字。訪客打開頁面時,程式即時向資料庫查詢內容,再組合成網頁送出。只要網站需要經常更新內容、記住訪客狀態或收集訪客送出的資料,就一定會用到資料庫,例如:

  • 以WordPress、Joomla這類內容管理系統架設的網站
  • 有購物車的網站,商品、庫存、訂單與付款狀態都要寫進資料表
  • 有會員註冊、登入、點數或訂閱機制的網站
  • 有表單收件、預約或報名功能,並希望在後台查詢紀錄的網站

虛擬主機最常提供的資料庫軟體是MySQL,以及與它高度相容的MariaDB。日常使用上兩者差異不大,主流系統都能正常運作;真正要留意的是版本,搬家或升級時新舊環境版本落差太大,可能遇到語法或定序不相容的狀況。

資料庫、資料庫使用者與權限:三者怎麼串起來連到網站

第一次在主機控制台看到資料庫區塊,很多人會疑惑為什麼要分別建立「資料庫」和「資料庫使用者」。可以把資料庫想成上了鎖的檔案櫃,使用者是一把鑰匙,權限則決定這把鑰匙能打開哪些抽屜、能不能放東西進去或丟掉東西。只有檔案櫃沒有鑰匙,網站程式進不去;有鑰匙卻沒被指派到這個檔案櫃,連線一樣會被拒絕。

概念上的流程是:建立資料庫並取一個能辨識用途的名稱;建立資料庫使用者並設定夠長、夠複雜的密碼;把使用者加入該資料庫並勾選需要的權限;最後把資料庫名稱、使用者名稱、密碼與資料庫主機位址填進網站設定檔,WordPress寫在wp-config.php裡。主機位址多數填本機即可,但有些環境會給獨立位址,要以控制台顯示的為準。許多虛擬主機會自動在名稱前加上帳號前綴,填設定檔時漏掉前綴,是連線失敗最常見的原因之一。若同一個帳號放了好幾個網站,建議每站各用獨立的資料庫與使用者,日後要搬走其中一站或某站出了資安問題,影響範圍都比較好控制。

phpMyAdmin能做什麼?匯出、匯入、檢查與修復的使用時機

多數虛擬主機會附上phpMyAdmin這類網頁版管理介面,讓不熟指令的人也能看到資料表並進行維護。常見用途有:匯出,把整個資料庫或部分資料表存成SQL檔,作為備份或搬家用;匯入,把SQL檔還原回資料庫;檢查與修復,在資料表因異常關機或寫入中斷而損壞時,嘗試恢復可讀寫狀態。另外也能查看各資料表大小、找出異常膨脹之處,或在收不到重設信時直接修改後台帳號資料。

這個介面是直接對資料動手,沒有垃圾桶或復原功能可以反悔,點錯清空或刪除按鈕,整張資料表就可能瞬間消失;匯入時選錯資料庫,也可能覆蓋正常運作的網站。所以不論做哪種操作,請把「先匯出完整備份並下載到自己電腦」當成固定的第一步。修復功能也不是萬靈丹,若修復後仍出錯或資料表反覆損壞,通常代表背後有磁碟空間不足、主機端異常或外掛寫入缺陷等問題,應該停下來還原備份或尋求協助,而不是一再按修復碰運氣。用完也記得登出介面。

方案上的資料庫數量、容量與連線數限制怎麼看?碰到上限有哪些徵兆

比較方案時,資料庫限制常被列在規格表角落,卻往往是網站成長後最先撞牆的地方。先看可建立的資料庫數量,打算在同一帳號經營多個網站或另架測試站時,數量不夠就只能讓多站擠在同一個資料庫。再看容量,有些方案單獨限制每個資料庫的大小,有些和網站檔案共用總空間,要分清楚是哪一種。最容易被忽略的是連線數與資源限制,例如同時連線數、每個使用者的查詢次數,或整體運算資源的控管;共用型主機上許多網站共享同一台資料庫伺服器,這類上限是為了避免單一網站拖垮其他人。規格寫得不清楚時,可以詢問客服或到控制台的資源使用統計觀察平常的用量。

碰到上限時常見的徵兆包括:頁面間歇性出現「Error establishing a database connection」或「Too many connections」;促銷或電子報寄出後流量湧入時特別容易打不開;後台存檔失敗、表單資料沒寫進去;控制台顯示資源接近滿載或無法再建立新資料庫。不過這些狀況不一定代表要立刻換方案,有時是某個外掛或惡意爬蟲短時間內大量查詢,先找出原因再決定往往更省錢。

備份與還原:別只把希望放在主機的自動備份

主機附的自動備份,保存期間、還原方式與是否收費各不相同,而且通常和網站放在同一個環境。遇到帳號停用、主機故障,或被入侵一段時間後才發現,自動備份可能早已被帶有問題的新版本覆蓋。比較穩妥的做法,是把它當第一道防線,自己再另存一份放在不同地方。

規劃時掌握幾個原則:資料庫與網站檔案要成對保存,缺了任一邊,還原出來的網站都會缺東缺西;備份頻率跟著內容更新速度走,經常有訂單或會員異動的網站,需求和很久才更新一次的形象網站不同;保留多個時間點的版本,因為很多問題是過一陣子才察覺;更新佈景主題、安裝大型外掛或執行清理工具前,一定先手動備份。最常被跳過的是還原演練,建議偶爾把備份還原到測試資料庫或子網域,確認網站能顯示、後台能登入,這份備份才算真的派得上用場。

搬家時的匯出匯入:檔案太大、逾時與編碼亂碼怎麼處理

換主機或建立測試站時,資料庫靠「舊環境匯出、新環境匯入」搬移。資料庫累積到一定大小後,常卡在上傳檔案大小限制或執行逾時,可以先壓縮SQL檔再上傳,多數管理介面支援直接匯入壓縮檔;也可以把大型資料表分批匯出匯入;主機若提供SSH指令列存取,用指令操作通常比網頁介面穩定。

另一個常見問題是編碼與定序。WordPress普遍使用utf8mb4編碼,能完整儲存中文與表情符號;匯出或匯入時選錯編碼,或新舊資料庫預設定序不同,就可能出現中文變問號、亂碼,或匯入時報出不支援該定序的錯誤。處理原則是兩端明確指定相同編碼,並在匯入前確認新環境版本是否支援原本的定序,不支援時先調整定序設定,調整前保留原始檔。匯入後先在新環境內部核對資料表數量與大小是否大致相符,打開幾篇含中文與表情符號的頁面檢查顯示,也確認設定檔已換成新環境的資料庫資訊,再進行正式切換。

資安注意事項:遠端連線、帳號密碼與最小權限

資料庫存放的往往是會員帳號、聯絡方式與訂單內容等最敏感的資料。多數虛擬主機預設只允許同一台主機上的程式連線資料庫,這是比較安全的狀態;若為了用桌面軟體管理或讓外部系統讀取而開啟遠端存取,請只允許特定的固定IP位址,用完就關閉。密碼方面,資料庫、主機控制台與網站後台應各用不同且夠長的密碼,交接給新的管理人員或合作夥伴後記得更換,並移除不再需要的帳號。網站設定檔裡有明文的資料庫密碼,要確認檔案權限恰當,也不要把設定檔或備份檔用電子郵件寄來寄去,或放在任何人都能開啟的雲端資料夾。

權限則以最小化為原則:不同網站使用不同的資料庫使用者,避免一站被入侵就波及其他網站;主機允許細分權限時,不必給超出需要的管理權限。但WordPress更新核心或安裝外掛時可能需要建立、修改資料表結構的權限,收得太緊會導致更新失敗,調整前要先了解網站程式的需求。此外,定期刪除不用的舊資料庫與多餘使用者,並讓核心、佈景主題與外掛保持更新,因為很多資料庫被竄改的事件,入口其實是網站程式本身的漏洞。

資料庫變慢或出錯的常見原因,以及何時該考慮升級方案

網站用久了變慢,常見原因是資料表越長越大:WordPress預設保存每次編輯的修訂版本,一篇文章改過很多次,資料庫裡就躺著好幾份舊版;垃圾留言、已移除外掛殘留的資料表與設定值、過期未清的暫存資料也會一點一滴累積。特別要注意選項資料表中被設定為自動載入的項目,每個頁面都會讀取它們,被外掛塞進大量資料後,即使訪客不多也會拖慢速度。處理方向包括在設定檔限制修訂版本的保留數量、定期清理舊修訂與垃圾留言、確認不再使用後刪除外掛殘留的資料表、對經常寫入刪除的資料表執行最佳化,並搭配頁面快取或物件快取減少重複查詢。使用清理類外掛前一樣要先備份,並看清楚它準備刪除的項目。

如果上述整理都做了,網站在一般流量下仍經常逼近資源上限,或業務已擴展到大量訂單、頻繁會員互動與即時查詢,就代表需求超出共用型虛擬主機的設計範圍,可以考慮資源配額更高的方案,或改用資源獨立的主機類型。判斷時以控制台的資源使用紀錄與錯誤日誌為依據,並先確認瓶頸確實在資料庫,而不是圖片過大或外掛效率不佳,否則升級後問題可能依然存在。

常見問題

一個資料庫可以同時給兩個WordPress網站使用嗎?技術上可以用不同的資料表前綴讓兩站共用,資料庫數量有限時偶爾會這樣做。但備份、搬家與權限都會綁在一起,一站出問題另一站也容易受牽連,方案允許的話還是建議各自獨立。

網站顯示資料庫連線錯誤,第一步該檢查什麼?先確認設定檔中的資料庫名稱、使用者、密碼與主機位址是否正確,特別是名稱前綴與最近是否改過密碼;再到控制台確認資料庫存在、使用者仍被指派到該資料庫。設定都對卻間歇性出錯,可能是連線數或資源達到上限,或主機端服務暫時異常,可向客服確認。

用phpMyAdmin匯出備份時,要選哪些選項?一般選擇匯出整個資料庫、格式為SQL即可,進階選項中可確認編碼與資料表是否完整勾選,資料庫較大時可選擇壓縮輸出。匯出後下載到本機或其他安全位置保存,並偶爾試著還原確認可用。

清理資料庫會影響SEO嗎?清理修訂版本、垃圾留言與過期暫存資料不會改變網頁內容,不會直接影響搜尋結果,網站速度若因此改善,對使用者體驗反而有幫助。要小心的是誤刪仍在使用的資料,例如SEO外掛設定或轉址紀錄,清理前務必備份並逐一確認。

如果你的網站最近常出現資料庫連線錯誤、後台越來越慢,或準備換主機卻不確定資料庫該怎麼搬,創昇SEO提供免費網站健檢,可以從網站速度、技術設定與資料庫使用狀況一起檢查,幫你分辨問題出在資料庫、外掛還是主機規格,再決定該先整理還是升級。

對於不熟悉主機控制台、希望有人當面說明備份與權限怎麼設定的企業主,創昇SEO也提供全台免費到府解說,會依照網站目前的實際狀況,講解資料庫備份、帳號管理與方案選擇各自要注意的地方,讓你和團隊之後能自己掌握網站的維護節奏。

Posted by

in

加 LINE 免費諮詢