in ,

在cPanel中建立MySQL資料庫與使用者的完整操作教學

教你如何設定資料庫名稱與使用者、密碼與權限,完整建立網站後端資料儲存核心


如何查看目前主機空間上MySQL版本

若您的主機代管商是使用 cPanel 控制台(何謂 cPanel 控制台,請點我),在虛擬主機架設網頁程式時(無論是 WordPress、Drupal、Laravel…等 CMS 或自寫程式),若需資料庫支援,需先確認主機上的資料庫版本。

可於 cPanel 控制台中點選 phpMyAdmin,從畫面上方即可看到目前伺服器的 MySQL 或 MariaDB 版本:

另外也可於 cPanel → 伺服器資訊中查看資料庫相關資訊。

MySQL 與 MariaDB 常見不相容問題整理

雖然 MariaDB 是基於 MySQL 原始碼開發,兩者在大多數情況下相容,但在實務應用與細節上仍存在不少差異。以下整理常見的不相容狀況,建議在進行版本轉移或資料庫移植前務必詳細測試:

1. 🔍 儲存引擎(Storage Engine)差異

  • MariaDB 提供 Aria、TokuDB、ColumnStore 等 MySQL 沒有的引擎。
  • 使用這些引擎建立的資料表在 MySQL 中無法直接匯入或識別。

2. ⚙️ 系統變數與參數設定

  • MySQL 和 MariaDB 的預設變數可能不同,例如 innodb_strict_mode
  • MySQL 有 performance_schema,MariaDB 的支援度較弱或預設關閉。
  • 匯入設定檔時可能出現無效參數錯誤。

3. 🧩 SQL 語法支援差異

  • MariaDB 支援 INSERT ... RETURNING,但 MySQL 8.0 前不支援。
  • MySQL 原生支援 JSON 資料型別及 JSON_TABLE,MariaDB 仍使用 LONGTEXT 處理 JSON。
  • 使用特定語法的資料表或儲存程序在轉移時容易產生錯誤。

4. 🔐 帳號與權限管理不同

  • MySQL 8.0 採用 caching_sha2_password 加密登入,MariaDB 不支援,可能導致登入失敗。
  • mysql.user 欄位設計不同,權限設定搬移後可能遺失或無效。

5. 📦 複製與叢集架構不同

  • MariaDB 使用 Galera Cluster,MySQL 使用 Group Replication,設定與同步方式不同。
  • 跨平台無法直接搬移複製設定,需重建。

6. 🛠 資料型別與長度限制

  • MariaDB 的索引與欄位長度限制不同,如 VARCHAR 上限或複合索引大小。
  • 搬移資料時可能因欄位定義衝突而產生建表錯誤。

7. 🧪 版本發展路線與節奏不同

  • MySQL 由 Oracle 主導,更新節奏保守。
  • MariaDB 為社群驅動,更新較快,但新功能可能不穩定。

📌 建議

  • 避免直接將資料庫從 MySQL 切換至 MariaDB 或反之。
  • 若需切換,應做好完整備份,並於測試環境充分驗證應用程式相容性。

延伸閱讀:維基百科:MySQLMariaDB
延伸閱讀:MariaDB 與 MySQL 相容性官方說明

如何取得網頁程式串聯資料庫的資訊

一般程式串接資料庫時會需要以下 4 組資訊:

  • 主機位址 (DB_HOST):虛擬主機預設為 localhost
  • 資料庫名稱 (DB_NAME):例如 hapytest_test
  • 資料庫使用者 (DB_USER):例如 hapytest_user
  • 資料庫密碼 (DB_PASSWORD):建立時設定的密碼

在cPanel內建立時,系統會自動加上帳號為前綴,請注意輸入程式中使用正確的完整名稱。

主機空間串聯資料庫(MySQL)的提醒

cPanel 的帳密可同時用於登入 cPanel 與 FTP,但不建議用作資料庫使用者密碼,否則未來更改 cPanel 密碼時,若未一併更新程式設定,將造成連線失敗,甚至導致網站錯誤無法顯示。

此外使用 cPanel 帳密無法細部設定資料庫權限,增加資安風險,請務必為資料庫獨立設定使用者與密碼。

於 cPanel >> MySQL資料庫 建立資料庫設定步驟

整體分為 3 大步驟:

  1. 建立資料庫:
    ①至cPanel裡選點:MySQL資料庫
    登入後點選MySQL資料庫
    ②在〝目前資料庫裡〞可以看到設定完成的資料庫名稱步驟①:新增資料庫名稱
  2. 新增資料庫使用者與密碼
    ①至cPanel裡選點:MySQL資料庫的下方可以建立MySQL資料庫,在〝目前使用者〞可以看到設定完成的MySQL使用者
    步驟②:新增資料庫使用者與密碼
  3. 將資料庫使用者加到資料庫裡(常見錯誤是漏掉這步驟)
    ①在cPanel裡選點:MySQL資料庫裡〝最下方〞會有〝新增使用者到資料庫〞,請選擇要搭配使用的使用者和資料庫。
    步驟③:將使用者加到資料庫
    ②設定使用者可以管理資料庫的權限
    設定使用者權限
    ③設定完成後,在早先建立資料庫的〝目前資料庫〞裡可以看到〝具有權限的使用者〞,這樣即是完成了。確認使用者已顯示於資料庫清單

※若使用者未加到資料庫,即便設定了名稱與密碼,程式也無法順利連線。

延伸閱讀:不登入cPanel也能用phpMyAdmin管理MySQL的方法

在cPanel中建立SQL資料庫需要幾個步驟?

共需三步:建立資料庫名稱、建立使用者與密碼、將使用者加到資料庫中,缺一不可。

資料庫使用者可以使用cPanel帳號密碼嗎?

雖然技術上可行,但強烈不建議使用 cPanel 帳號密碼作為資料庫使用者的密碼,原因如下:

  • 改了 cPanel 密碼,網站立即當機: 若您的 WordPress 或 Laravel 程式使用的是 cPanel 密碼,一旦更改該密碼但忘了同步更新程式設定,網站將因資料庫連線失敗而無法顯示。
  • 無法單獨控制某網站資料庫存取: 若多個網站共用一個 cPanel 帳號,而某一網站需要停止資料庫存取,無法只移除該使用者,必須更改整個 cPanel 密碼,將連帶影響其他網站。
  • 無法細部設定資料庫權限: 使用 cPanel 帳號無法對資料庫進行如唯讀、限制資料庫範圍等權限管理,增加資料安全風險。
  • 一旦外洩,整個主機安全受威脅: 若網站設定檔遭洩漏,駭客可用相同密碼登入 cPanel、FTP、Webmail 等服務,風險比單一資料庫密碼外洩高出數倍。
  • 維護作業容易遺漏: 經常有使用者修改 cPanel 密碼後忘記更新程式內部設定,導致網站突如其來無法連線,嚴重影響用戶體驗與信任。

因此,建議為每個資料庫建立獨立使用者與密碼,能有效降低風險、提升維運彈性與安全性。

文章來源: https://wpoki.com

Written by 統包小唐

從資訊小白一步步摸索成統包小唐,大伙一塊來進步吧!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

GIPHY App Key not set. Please check settings

One Comment