資料庫教學最容易寫得很空泛,但對站長來說真正重要的是:我到底要建立幾個帳號、權限該怎麼配、網站連線字串要填哪個名稱。這篇就是把這些容易混淆的點一次講清楚。
你如果不想每次都只是照著別人的畫面一步一步跟著按,卻不知道自己到底改了什麼,這篇會比較適合你。重點不是讓你背流程,而是讓你下次遇到類似情況時,還知道該怎麼自己判斷。
你會學到什麼
- 知道資料庫名稱、使用者與權限三者之間的關係。
- 會用 cPanel 建立網站可用的 MySQL 環境。
- 學會用 phpMyAdmin 做基本的查看、匯入和匯出。
- 網站連不上資料庫時,能先自己定位是帳號、權限還是設定檔問題。
什麼情況最適合先看這篇
- 剛接手虛擬主機、想自己把網站日常維護做好的人
- 你現在正要處理「cPanel 建立與管理 MySQL 資料庫」這類操作
- 你希望做完之後不只功能能用,連驗證與排錯也有概念
開始前先確認
- 先確認你是要新建站、搬家,還是只要新增一個資料庫。
- 手邊先準備好網站程式需要的資料庫名稱與帳號資訊。
- 如果是既有網站,先備份原本資料庫。
先提醒你一件事
cPanel 很多功能都和網域、目錄、Email、憑證綁在一起,設定前先確認你改的是哪個站。
資料庫三層關係
詳細教學與操作步驟
建立資料庫
- 登入 cPanel,在「Databases」區塊中點擊「MySQL Databases」。
- 在「Create New Database」欄位輸入資料庫名稱(系統會自動加上前綴,例如
使用者名稱_dbname)。 - 點擊「Create Database」。
命名建議: 用有意義的名稱,例如 wp_main(主站 WordPress)、wp_blog(部落格)。這樣日後管理多個資料庫時不會搞混。
建立資料庫使用者
- 在同一頁面,向下捲動至「MySQL Users」區塊。
- 輸入使用者名稱與密碼。建議點擊「Password Generator」產生強密碼。
- 點擊「Create User」。
安全建議:
- 每個網站用一個獨立的資料庫使用者,不要共用。
- 密碼一定要強(16 位以上,含大小寫數字符號)。
- 建好後把密碼記到安全的地方(密碼管理器),因為 cPanel 不會再顯示。
將使用者加入資料庫
- 在頁面下方的「Add User To Database」區塊。
- 從下拉選單分別選擇剛建立的使用者與資料庫。
- 點擊「Add」。
- 在權限頁面勾選「ALL PRIVILEGES」(全部權限)。
- 點擊「Make Changes」儲存。
什麼時候不要給 ALL PRIVILEGES? 如果你是給外部開發者操作,可以只勾選 SELECT、INSERT、UPDATE、DELETE(基本 CRUD),不給 DROP、ALTER 這些危險操作。
使用 phpMyAdmin
phpMyAdmin 提供圖形化介面管理資料庫內容:
- 在 cPanel 的「Databases」區塊中,點擊「phpMyAdmin」。
- 左側面板選擇您的資料庫。
- 您可以瀏覽資料表、執行 SQL 查詢、新增或修改資料。
phpMyAdmin 常用操作:
| 操作 | 做法 |
|---|---|
| 查看資料表內容 | 點擊資料表名稱 → Browse |
| 搜尋特定資料 | 點擊資料表 → Search |
| 修改單筆資料 | Browse → 找到那筆 → Edit |
| 執行 SQL 查詢 | 選資料庫 → SQL 分頁 → 輸入查詢 |
| 清空資料表 | 選資料表 → Operations → Truncate |
| 修改 WordPress 網址 | 查 wp_options 表的 siteurl 和 home |
匯入資料庫
- 在 phpMyAdmin 中,選擇目標資料庫。
- 點擊上方的「Import」分頁。
- 點擊「Choose File」選擇
.sql檔案。 - 格式選擇「SQL」,然後點擊「Go」開始匯入。
注意:cPanel 預設的匯入上限約為 50MB。若檔案較大,請透過 SSH 使用指令匯入:
mysql -u 使用者名稱 -p 資料庫名稱 < backup.sql
匯入前的注意事項:
- 如果目標資料庫裡已經有同名的資料表,匯入可能會失敗或覆蓋。
- 匯入前先確認
.sql檔案的編碼是 UTF-8。 - 大型
.sql檔案(超過 100MB)建議用 SSH 指令或分段匯入。
匯出(備份)資料庫
- 在 phpMyAdmin 中,選擇要備份的資料庫。
- 點擊上方的「Export」分頁。
- 匯出方式選擇「Quick」,格式選擇「SQL」。
- 點擊「Go」即可下載
.sql備份檔。
進階匯出選項:
- 如果你只需要備份特定資料表,選「Custom」匯出,勾選要的表。
- 勾選「Add DROP TABLE」可以讓還原時自動覆蓋舊表。
- 大型資料庫建議用「Custom」並勾選壓縮(gzipped)。
在 WordPress 中填入資料庫資訊
安裝 WordPress 時(手動或 Softaculous),系統會要求你提供資料庫資訊:
| 欄位 | 填什麼 | 範例 |
|---|---|---|
| 資料庫名稱 | 完整名稱(含前綴) | 使用者名稱_wordpress |
| 資料庫使用者 | 完整名稱(含前綴) | 使用者名稱_wpuser |
| 資料庫密碼 | 你設定的密碼 | — |
| 資料庫主機 | 通常是 localhost | localhost |
| 資料表前綴 | WordPress 預設 wp_ | wp_(可改成別的增加安全性) |
用 MySQL Database Wizard(簡化版)
如果你覺得上面的步驟太多步,cPanel 有一個「MySQL Database Wizard」,會一步一步引導你完成:
- 在 cPanel 搜尋「MySQL Database Wizard」。
- Step 1:輸入資料庫名稱。
- Step 2:輸入使用者名稱和密碼。
- Step 3:選擇權限(勾 ALL PRIVILEGES)。
- 完成。
效果和手動建立一模一樣,只是介面更友善。
Troubleshooting
「Error establishing a database connection」
這是 WordPress 最常見的錯誤之一。排查順序:
- 確認資料庫存在: 到 cPanel 的 MySQL Databases 頁面,確認資料庫有列在清單中。
- 確認使用者已授權: 確認使用者有被加入到該資料庫。
- 確認 wp-config.php 資訊正確: 用 File Manager 打開
wp-config.php,確認DB_NAME、DB_USER、DB_PASSWORD、DB_HOST四個欄位都填對。 - 特別注意前綴: cPanel 會自動在名稱前加上你的帳號名稱(例如
abc_)。wp-config.php裡要填的是完整名稱。
phpMyAdmin 匯入失敗
錯誤訊息含「max_execution_time exceeded」:
.sql檔案太大,PHP 執行超時。- 解法:用 SSH 指令匯入,或把
.sql拆成多個小檔案。
錯誤訊息含「duplicate entry」:
- 目標資料表已有同名資料。
- 解法:先 DROP 目標資料表再匯入,或在匯出時勾選「Add DROP TABLE」。
忘記資料庫密碼
cPanel 不會顯示已設定的密碼。解法:
- 到 MySQL Databases 頁面。
- 找到使用者,點擊「Change Password」。
- 設定新密碼。
- 記得同步更新
wp-config.php裡的密碼。
資料庫容量爆了
症狀: 網站顯示「Disk quota exceeded」或 WordPress 後台寫不進資料。
解法:
- 到 phpMyAdmin 檢查各資料表大小。
- WordPress 常見的肥大資料表:
wp_posts(文章修訂版本太多)、wp_options(transient 暫存資料)、wp_comments(垃圾留言)。 - 清理方式:安裝「WP-Optimize」外掛,或手動用 SQL 清除。
-- 清除所有文章修訂版本
DELETE FROM wp_posts WHERE post_type = 'revision';
-- 清除過期的 transient
DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
-- 清除垃圾留言
DELETE FROM wp_comments WHERE comment_approved = 'spam';
執行 SQL 前一定要先備份資料庫。
做完後怎麼確認自己真的有設對
- 用 phpMyAdmin 連進去,確認能看到資料庫和資料表。
- 如果是給 WordPress 用的,確認網站前後台都能正常開啟。
- 確認
wp-config.php裡的四個欄位(DB_NAME、DB_USER、DB_PASSWORD、DB_HOST)都正確。 - 匯入資料後,確認資料筆數正確。
這一題最常踩的坑
- 只建立資料庫,卻忘了建立使用者或授權。
- 網站設定檔填成錯的資料庫前綴名稱。
- 把所有網站共用同一組高權限帳號,之後很難管理。
- 忘記密碼又沒記錄,只能重設然後到處更新設定檔。
- phpMyAdmin 直接刪資料沒先備份,後悔來不及。
如果你要往下一步走
如果你的網站是 WordPress,做完後可以接著讀 WordPress 一鍵安裝教學 或 備份與還原教學。如果你要學更多資料庫管理技巧,可以參考 cPanel 常用功能快速對照表。如果你想把這些功能直接用在穩定環境,侃瑞的 cPanel 虛擬主機方案 可以直接對照本文操作。