資料庫

資料庫模組用於管理關聯式資料庫(MySQL、MariaDB、PostgreSQL 等)、NoSQL 與分析型資料庫(MongoDB、ClickHouse)、搜尋引擎(Elasticsearch)、鍵值儲存(Redis)以及嵌入式資料庫(SQLite)。它支援建立資料庫、管理使用者、瀏覽資料以及設定資料庫伺服器。
前置要求
在使用資料庫功能之前,需要先安裝對應的資料庫軟體:
- 進入 應用 > 原生應用
- 安裝你需要的資料庫,例如 Percona、MySQL、MariaDB、PostgreSQL、MongoDB、ClickHouse、Elasticsearch、OpenSearch、Redis 或 Valkey
功能概覽
只有至少存在一臺對應型別的伺服器時,資料庫模組才會顯示該型別標籤;型別標籤後方是 使用者和伺服器:
| 功能 | 說明 |
|---|---|
| 資料庫 | 為所選類型建立與管理資料庫 |
| 使用者 | 管理資料庫使用者與權限 |
| 伺服器 | 管理資料庫伺服器連線 |
| pgAdmin | 開啟並管理 PostgreSQL Web 管理工具 |
Elasticsearch 與 Redis 標籤頁提供線上資料瀏覽器,可直接管理索引/文件與鍵值資料,而非建立資料庫的流程。
支援的資料庫
| 資料庫 | 說明 |
|---|---|
| MySQL | 全球最受歡迎的開源關聯式資料庫 |
| MariaDB | MySQL 的開源分支,與 MySQL 完全相容 |
| Percona | MySQL 的高效能分支,適合高負載情境 |
| PostgreSQL | 功能強大的開源物件關聯式資料庫 |
| ClickHouse | 面向資料行的資料庫,適用於海量資料集的即時分析 |
| MongoDB | 文件資料庫,用於儲存海量非結構化資料 |
| Elasticsearch | 用於全文搜尋的分散式搜尋與分析引擎 |
| Redis | 記憶體鍵值儲存,常用於快取 |
| SQLite | 輕量級嵌入式資料庫,以單一檔案形式儲存 |
MariaDB 與 Percona 在 MySQL 標籤頁下管理,因為它們與 MySQL 協定相容。
快速開始
建立資料庫
- 前往 資料庫 頁面,切換到你想要的資料庫類型標籤頁(MySQL、PostgreSQL、ClickHouse 或 MongoDB)
- 點選 建立資料庫
- 選擇伺服器
- 輸入資料庫名稱
- 可選擇啟用 建立使用者,或指定一個既有的授權使用者
- 點選提交
建立使用者
- 切換到 使用者 標籤頁
- 點選 建立使用者
- 選擇伺服器,然後輸入使用者名稱與密碼
- 設定權限(使用者可存取的資料庫名稱;不存在的資料庫會自動建立)
- 點選提交
注意
使用者管理僅適用於 MySQL、PostgreSQL 與 ClickHouse。其他資料庫類型不提供使用者管理入口。
連線資料庫
MySQL 資料庫列表可以開啟 phpMyAdmin,並選擇要連線的 MySQL 伺服器;安裝 pgAdmin 後, PostgreSQL 列表可以直接開啟它。兩個工具的介面語言均跟隨面板,其埠應保持私有或使用白名單限制。
本機連線
主機:127.0.0.1 或 localhost\nSocket:Percona/MySQL/MariaDB /tmp/mysql.sock,PostgreSQL /tmp/.s.PGSQL.5432各資料庫類型的預設連接埠:
| 資料庫 | 預設連接埠 |
|---|---|
| Percona/MySQL/MariaDB | 3306 |
| PostgreSQL | 5432 |
| ClickHouse | 8123 |
| MongoDB | 27017 |
| Elasticsearch | 9200 |
| Redis | 6379 |
遠端連線
如需從遠端連線資料庫:
- 在防火牆中開放資料庫連接埠
- 建立一個允許遠端存取的使用者
對於 MySQL(包括 MariaDB 與 Percona),建立使用者 表單提供了一個 主機 選擇器,包含三個選項,用於控制該使用者可從何處連線:
| 主機選項 | 意義 |
|---|---|
| 本機(localhost) | 僅允許來自本機的連線 |
| 全部(%) | 允許來自任意主機的連線(遠端存取所需) |
| 指定 | 僅允許來自你輸入的主機位址的連線 |
若要為 MySQL 使用者啟用遠端存取,請選擇 全部(%)(或選擇 指定 並輸入用戶端位址)。 PostgreSQL 與 ClickHouse 使用者沒有這種依主機的設定,因此這些類型不會顯示主機選擇器。
安全提示
不建議將資料庫連接埠暴露至公開網路,如需遠端管理,建議使用 SSH 通道或 VPN。
效能與維護
這些工具位於應用中已安裝資料庫應用的管理頁面,而非資料庫或使用者清單,也不在遠端伺服器註冊頁面中。開啟對應的原生應用,即可管理其本機執行個體。
MySQL、MariaDB 與 Percona
效能標籤頁包含:
- 程序:查看連線、使用者、資料庫、正在執行的陳述式及持續時間;必要時可終止選取的連線。
- 交易與鎖定:查看進行中的交易與鎖定等待,找出造成阻塞的連線,檢查其查詢後可將其終止。
- Top SQL:比較陳述式呼叫次數、總執行時間與平均執行時間,以及傳送或掃描的資料列數;開始新的觀察週期時可重設累計統計。此功能需要
performance_schema。啟用操作會修改設定,需要重新啟動服務後生效,並會增加記憶體用量。
維護標籤頁包含:
- 資料表維護:依資料庫篩選,查看資料表大小與碎片情況,並對單一或多個選取的資料表執行維護。可用操作包括
OPTIMIZE與ANALYZE。 - Binlog:查看二進位日誌檔案及其大小。清理至此會刪除所選檔案之前的日誌;請確認這些日誌已不再用於複寫或還原。
- 複寫:查看副本的來源主機、複寫延遲、IO/SQL 執行緒狀態與最近一次錯誤。
資料表維護操作以面板任務的形式執行。請查看任務日誌取得執行結果。
PostgreSQL
擴充套件標籤頁列出可用擴充套件及已安裝版本。透過面板任務安裝或重新安裝擴充套件,然後點選啟用,選擇執行 CREATE EXTENSION 的資料庫。在 template1 中啟用擴充套件後,新建資料庫會繼承該擴充套件。部分擴充套件還需要重新啟動 PostgreSQL。
效能標籤頁提供工作階段與 Top SQL。工作階段清單顯示等待事件、阻塞來源、交易持續時間與查詢持續時間,並支援終止工作階段。 Top SQL 使用 pg_stat_statements;啟用時會將該模組新增至 shared_preload_libraries,需要重新啟動 PostgreSQL 後生效。
在維護 > 資料表膨脹中選擇資料庫,可查看資料表大小、存活及死亡元組數量,以及最近一次 vacuum/analyze 時間。可對單一資料表或選取的多個資料表執行 VACUUM、VACUUM FULL、ANALYZE 或 pg_repack。使用 pg_repack 前需先安裝其擴充套件。這些操作以面板任務的形式執行。 VACUUM FULL 會重寫整張資料表並持有獨佔鎖定,在完成前阻擋所有讀寫。
WAL 標籤頁顯示 WAL 大小、封存成功與失敗次數、複寫槽及其保留的 WAL,以及複寫狀態。僅在使用方不再需要複寫槽時才刪除它。
Redis 與 Valkey
開啟效能可查看慢日誌、用戶端與記憶體。可重設慢日誌、終止用戶端連線、查看記憶體診斷,並將掃描大 Key提交為面板任務。掃描輸出請查看任務日誌。掃描大型資料集前,請檢查服務負載。
建議設定
在提供參數調校的應用頁面中,如有產生建議設定功能,可根據記憶體預算、CPU 數量、磁碟類型與應用情境填入建議值。請檢查產生的值並手動儲存。建議值僅供初始設定參考,並非根據應用的實際負載測量得出。
