跳转到内容

数据库 ​

Database overview

数据库模块用于管理关系型数据库(MySQL、MariaDB、PostgreSQL 等)、NoSQL 和分析型数据库(MongoDB、ClickHouse)、搜索引擎(Elasticsearch)、键值存储(Redis)以及嵌入式数据库(SQLite)。它支持创建数据库、管理用户、浏览数据以及配置数据库服务器。

前置要求 ​

在使用数据库功能之前,需要先安装相应的数据库软件:

  1. 进入 应用 > 原生应用
  2. 安装你需要的数据库,例如 Percona、MySQL、MariaDB、PostgreSQL、MongoDB、ClickHouse、Elasticsearch、OpenSearch、Redis 或 Valkey

功能概览 ​

只有至少存在一台对应类型的服务器时,数据库模块才会显示该类型标签;类型标签后方是 用户和服务器:

功能说明
数据库为所选类型创建和管理数据库
用户管理数据库用户和权限
服务器管理数据库服务器连接
pgAdmin打开并管理 PostgreSQL Web 管理工具

Elasticsearch 和 Redis 标签页提供在线数据浏览器,可直接管理索引/文档和键值数据,而不是创建数据库的工作流。

支持的数据库 ​

数据库说明
MySQL世界上最流行的开源关系型数据库
MariaDBMySQL 的开源分支,完全兼容 MySQL
PerconaMySQL 的高性能分支,适合高负载场景
PostgreSQL功能强大的开源对象关系型数据库
ClickHouse面向列的数据库,适用于海量数据集的实时分析
MongoDB文档数据库,用于存储海量非结构化数据
Elasticsearch用于全文检索的分布式搜索与分析引擎
Redis内存键值存储,常用于缓存
SQLite轻量级嵌入式数据库,以单个文件形式存储

MariaDB 和 Percona 在 MySQL 标签页下管理,因为它们与 MySQL 协议兼容。

快速开始 ​

创建数据库 ​

  1. 进入 数据库 页面,切换到你想要的数据库类型标签页(MySQL、PostgreSQL、ClickHouse 或 MongoDB)
  2. 点击 创建数据库
  3. 选择服务器
  4. 输入数据库名称
  5. 可选择开启 创建用户,或指定一个已有的授权用户
  6. 点击提交

创建用户 ​

  1. 切换到 用户 标签
  2. 点击 创建用户
  3. 选择服务器,然后输入用户名和密码
  4. 设置权限(用户可访问的数据库名称;不存在的数据库会自动创建)
  5. 点击提交

注意

用户管理仅适用于 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/MariaDB3306
PostgreSQL5432
ClickHouse8123
MongoDB27017
Elasticsearch9200
Redis6379

远程连接 ​

如需远程连接数据库:

  1. 在防火墙中开放数据库端口
  2. 创建一个允许远程访问的用户

对于 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 数量、磁盘类型和应用场景填入推荐值。请检查生成的值并手动保存。推荐值仅供初始配置参考,并非根据应用的实际负载测量得出。

下一步 ​