📢 企业版4.7.2已发布

AI写SQL功能增强,支持生成动态SQL

Skip to content

安装部署

此文档同时适用于个人版和企业版软件的安装,个人版和企业版软件安装方式一致!!!

请先下载安装包。默认账户admin/admin

为了便于您理解安装的时候需要配置的参数,请您先学习日志监控相关的功能设计

本地部署单机版

准备工作

  • 依赖 java 环境,先自行在服务器安装JDK,并配置环境变量,推荐版本JDK8 JDK11 JDK17
  • 下载安装包解压到需要安装的目录

NOTE

支持所有发行版的 JDK,包括 Oracle JDK、OpenJDK、Eclipse Adoptium Temurin、Amazon Corretto、Azul Zulu、Alibaba Dragonwell、Tencent Kona 等主流发行版。

数据库初始化

DBAPI 使用两个独立的数据库:

  • 元数据库:存储系统的核心元数据,包括数据源配置、API 分组、API 定义、用户权限等系统配置信息。

  • 日志数据库:存储 API 访问日志,用于页面监控功能的统计和分析。

  • 元数据库支持 MySQL、PostgreSQL、SQL Server(2012+),或内置 SQLite。若选用 MySQL、PostgreSQL 或 SQL Server,需预先在对应数据库中执行初始化脚本 sql/ddl_mysql.sqlsql/ddl_postgres.sqlsql/ddl_sqlserver.sql;若选用内置 SQLite,则无需额外初始化。

  • 日志数据库支持 ClickHouse、MySQL、PostgreSQL、SQL Server(2012+),或内置 DuckDB。若选用 ClickHouse、MySQL、PostgreSQL 或 SQL Server,需预先在对应数据库中执行初始化脚本 sql/access_log_clickhouse.sqlsql/access_log_mysql.sqlsql/access_log_postgres.sqlsql/access_log_sqlserver.sql;若选用内置 DuckDB,则无需额外初始化。

配置参数

  • 修改conf/application.properties文件中的以下配置

基础配置

properties
# api访问路径的统一根路径,example: http://192.168.xx.xx:8520/api/xxx
# api context
dbapi.api.context=api

配置元数据库

默认使用内置的 SQLite 元数据库,开箱即用,无需修改、也无需初始化,适用于个人学习和中小规模使用场景。

如需改用外部数据库,请先在对应数据库执行初始化脚本(见上方数据库初始化),再将下列默认的 4 行配置替换为所选数据库的配置。

默认配置(内置 SQLite,保持不变即可)

properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.sqlite.JDBC
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlite::resource:sqlite.db
spring.datasource.dynamic.datasource.meta-db.username=
spring.datasource.dynamic.datasource.meta-db.password=

以下是各种数据库的配置示例

properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:mysql://127.0.0.1:3306/dbapi?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.dynamic.datasource.meta-db.username=root
spring.datasource.dynamic.datasource.meta-db.password=your_password
properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.postgresql.Driver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:postgresql://127.0.0.1:5432/dbapi
spring.datasource.dynamic.datasource.meta-db.username=postgres
spring.datasource.dynamic.datasource.meta-db.password=your_password
properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlserver://127.0.0.1:1433;databaseName=dbapi;encrypt=true;trustServerCertificate=true
spring.datasource.dynamic.datasource.meta-db.username=sa
spring.datasource.dynamic.datasource.meta-db.password=your_password

配置日志数据库

access.log.writer 决定 API 访问日志如何写入日志数据库,值只能是 db/kafka/null

  • db:dbapi 直连日志数据库,自动将 API 访问日志写入日志数据库。
  • kafka:dbapi 将 API 访问日志写入 kafka,用户需要自行从 kafka 收集日志写入日志数据库。
  • null:dbapi 只会将 API 访问日志写入本地磁盘文件(logs/dbapi-access.log),用户需要自行从磁盘文件收集日志写入日志数据库。

默认配置为 access.log.writer=db + 内置 DuckDB 日志数据库(嵌入式、无外部依赖、启动时自动初始化建表),开箱即用,无需修改且无需额外初始化,页面监控功能可直接使用。

若您需要使用外部日志数据库,请先在对应数据库执行初始化脚本(见上方数据库初始化),再将默认的 DuckDB 配置替换为所选数据库的配置。

默认配置(内置 DuckDB,保持不变即可)

properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=org.duckdb.DuckDBDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:duckdb:data/duckdb.db
spring.datasource.dynamic.datasource.access-log-db.username=
spring.datasource.dynamic.datasource.access-log-db.password=

以下是各种数据库的配置示例

properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:mysql://127.0.0.1:3306/dbapi_log?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.dynamic.datasource.access-log-db.username=root
spring.datasource.dynamic.datasource.access-log-db.password=your_password
properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=org.postgresql.Driver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:postgresql://127.0.0.1:5432/dbapi-log
spring.datasource.dynamic.datasource.access-log-db.username=postgres
spring.datasource.dynamic.datasource.access-log-db.password=your_password
properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=your_password
properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:sqlserver://127.0.0.1:1433;databaseName=dbapi_log;encrypt=true;trustServerCertificate=true
spring.datasource.dynamic.datasource.access-log-db.username=sa
spring.datasource.dynamic.datasource.access-log-db.password=your_password

通过 Kafka 写入日志(可选,access.log.writer=kafka

如果配置了 access.log.writer=kafka,还需要配置 kafka 地址和日志写入的 topic:

properties
access.log.writer=kafka
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092
  • 可选)配置日志自动清理

如果您使用了日志数据库,可以配置自动清理日志数据库中的日志。 修改conf/application.properties文件中的以下配置

properties
# 是否启用自动清理,默认是关闭的
# Enable or disable automatic cleanup of access logs (true/false)
access.log.autoClean.enable=false

# 清理任务调度时间,默认每天凌晨3点执行
# Cron expression for scheduling the access log cleanup task (executes daily at 3:00 AM by default)
access.log.autoClean.cron=0 0 3 * * ?

# 日志数据最大保留天数,默认15天
# Number of days to retain access logs before cleanup (15 days by default)
access.log.autoClean.retention.days=15

NOTE

仅企业版软件支持此项配置。

  • 可选)修改端口号

修改conf/application-standalone.properties文件中的server.port

properties
server.port=8520
  • 可选)修改 UI 网页允许哪些 IP 访问

修改conf/application-standalone.properties文件中的dbapi.ui.allowed.ips

properties
# 单机模式下,配置哪些IP可以访问UI网页,如果不配置表示所有IP都可以访问
dbapi.ui.allowed.ips=
  • 可选)修改JVM启动参数

修改bin/jvm_env.properties文件中的standalone_opts值,为单机模式配置 JVM 启动参数。支持添加任意 JVM 参数,包括垃圾回收器、堆内存(-Xms-Xmx)、元空间内存(-XX:MetaspaceSize-XX:MaxMetaspaceSize)等。此处配置的 JVM 参数优先级最高,将覆盖默认配置。

properties
#standalone_opts="-Xms1g -Xmx4g -Xmn2g"

可以保持默认不修改

  • 可选)配置 java 命令地址

如果您安装了多个版本的 JDK,需要使用指定版本的 JDK,请配置此项。 可以不配置,如果不配置默认使用环境变量中的 java 命令

修改bin/jvm_env.properties文件中的JAVA_LOCATION值,值填写 java 命令所在的全路径,比如/usr/bin/java

properties
JAVA_LOCATION="/usr/bin/java"

启动命令

Linux

  • 使用脚本启动和停止
shell
# Ubuntu/Debian 系统请使用 bash,不要使用 sh
bash bin/dbapi-daemon.sh start standalone
bash bin/dbapi-daemon.sh stop standalone

# 重启
bash bin/dbapi-daemon.sh restart standalone

# 查询状态
bash bin/dbapi-daemon.sh status standalone
  • 如需在前台运行以便查看日志,请执行:
shell
bash bin/dbapi.sh start standalone

Windows

  • 右键点击 bin/dbapi.ps1,选择使用 PowerShell 运行
  • 如需后台运行,请使用 PowerShell 执行 bin/start.ps1。停止相应的后台进程请使用 PowerShell 执行 bin/stop.ps1

NOTE

单机版日志文件为 logs/dbapi-standalone.log

Windows 系统仅支持 standalone 模式,不支持集群模式

WARNING

首次启动后系统会自动退出,需完成激活后重启方可使用。

  • 浏览器访问 http://192.168.xx.xx:8520 进入 UI

TIP

若此前已安装过旧版本,请按 Ctrl+F5 强制刷新浏览器缓存,避免页面缓存导致的问题

本地部署集群版

集群角色说明

  • 集群中有 3 种服务进程,分别是manager gateway apiServer
  • manager是管理服务,也就是 web UI 服务,通过这个 UI 服务可以创建数据源、分组、API,并管理 API 的在线调试、执行、发布、下线等操作,此服务进程整个集群只有一个
  • gateway是网关服务,负责分发 API 请求到不同的apiServer此服务进程整个集群只有一个
  • apiServer是 API 服务,负责接收 API 请求,执行 API 中的业务逻辑,此服务进程整个集群可以有多个

准备工作

  • 集群部署依赖nacos、数据库(mysql SQL Serverpostgresql)、redis,请先自行安装nacos(推荐 2.x 以上版本)、数据库(mysql SQL Serverpostgresql)、redis
  • 准备多台 Linux 服务器,每台安装JDK,推荐版本JDK8 JDK11 JDK17

NOTE

支持所有发行版的 JDK,包括 Oracle JDK、OpenJDK、Eclipse Adoptium Temurin、Amazon Corretto、Azul Zulu、Alibaba Dragonwell、Tencent Kona 等主流发行版。

CAUTION

所有服务器的时间一定要设置同步。

如果您开启了防火墙,保证manager可以访问到gatewayapiServergateway可以访问到apiServer

ssh 免密配置

  • 选一台机器 host1 作为部署机,配置 host1 到其他每台机器的 ssh 免密登录
shell
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

for ip in host2 host3;     # 请将此处 host2 host3 替换为自己要部署的机器的 hostname
do
  ssh-copy-id  $ip   # 该操作执行过程中需要手动输入部署用户的密码
done

下载解压

  • 下载安装包并解压到部署机 host1 需要安装的目录

数据库初始化

DBAPI 使用两个独立的数据库:

  • 元数据库:存储系统的核心元数据,包括数据源配置、API 分组、API 定义、用户权限等系统配置信息。

  • 日志数据库:存储 API 访问日志,用于页面监控功能的统计和分析。

  • 对于集群部署,元数据库支持 MySQL、PostgreSQL、SQL Server(2012+)。需预先在对应数据库中执行初始化脚本 sql/ddl_mysql.sqlsql/ddl_postgres.sqlsql/ddl_sqlserver.sql

  • 日志数据库支持 ClickHouse、MySQL、PostgreSQL 或 SQL Server(2012+)。需预先在对应数据库中执行初始化脚本 sql/access_log_clickhouse.sqlsql/access_log_mysql.sqlsql/access_log_postgres.sqlsql/access_log_sqlserver.sql

NOTE

集群多个节点共享同一套数据库,元数据库和日志数据库都必须使用外部数据库,不能使用内置的 SQLite / DuckDB。

配置参数

  • 修改conf/application.properties文件中的以下配置

基础配置

properties
# api访问路径的统一根路径,example: http://192.168.xx.xx:8520/api/xxx
# api context
dbapi.api.context=api

配置元数据库

先在对应数据库执行初始化脚本(见上方数据库初始化),再将下列默认配置替换为所选数据库的配置。

默认配置(需要修改)

properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.sqlite.JDBC
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlite::resource:sqlite.db
spring.datasource.dynamic.datasource.meta-db.username=
spring.datasource.dynamic.datasource.meta-db.password=

以下是各种数据库的配置示例

properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:mysql://127.0.0.1:3306/dbapi?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.dynamic.datasource.meta-db.username=root
spring.datasource.dynamic.datasource.meta-db.password=your_password
properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.postgresql.Driver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:postgresql://127.0.0.1:5432/dbapi
spring.datasource.dynamic.datasource.meta-db.username=postgres
spring.datasource.dynamic.datasource.meta-db.password=your_password
properties
spring.datasource.dynamic.datasource.meta-db.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlserver://127.0.0.1:1433;databaseName=dbapi;encrypt=true;trustServerCertificate=true
spring.datasource.dynamic.datasource.meta-db.username=sa
spring.datasource.dynamic.datasource.meta-db.password=your_password

配置日志数据库

日志数据库用于存储 API 访问日志,供页面监控功能使用。无论 access.log.writer 配置为哪个值,日志数据库都需要配置,因为监控功能需要从日志数据库读取数据。access.log.writer 只决定 API 访问日志如何写入日志数据库,值只能是 db/kafka/null

  • db:dbapi 直连日志数据库,自动将 API 访问日志写入日志数据库。
  • kafka:dbapi 将 API 访问日志写入 kafka,用户需要自行从 kafka 收集日志写入日志数据库。
  • null:dbapi 只会将 API 访问日志写入本地磁盘文件(logs/dbapi-access.log),用户需要自行从磁盘文件收集日志写入日志数据库。

先在对应数据库执行初始化脚本(见上方数据库初始化),再将下列默认配置替换为所选数据库的配置。

默认配置(需要修改)

properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=org.duckdb.DuckDBDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:duckdb:data/duckdb.db
spring.datasource.dynamic.datasource.access-log-db.username=
spring.datasource.dynamic.datasource.access-log-db.password=

以下是各种数据库的配置示例

properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:mysql://127.0.0.1:3306/dbapi_log?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.dynamic.datasource.access-log-db.username=root
spring.datasource.dynamic.datasource.access-log-db.password=your_password
properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=org.postgresql.Driver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:postgresql://127.0.0.1:5432/dbapi-log
spring.datasource.dynamic.datasource.access-log-db.username=postgres
spring.datasource.dynamic.datasource.access-log-db.password=your_password
properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=your_password
properties
access.log.writer=db

spring.datasource.dynamic.datasource.access-log-db.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:sqlserver://127.0.0.1:1433;databaseName=dbapi_log;encrypt=true;trustServerCertificate=true
spring.datasource.dynamic.datasource.access-log-db.username=sa
spring.datasource.dynamic.datasource.access-log-db.password=your_password

通过 Kafka 写入日志(可选,access.log.writer=kafka

如果配置了 access.log.writer=kafka,还需要配置 kafka 地址和日志写入的 topic:

properties
access.log.writer=kafka
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092

集群专属配置

集群模式还必须配置以下 nacos 与 redis 参数:

properties
# nacos address, needed if cluster mode
spring.cloud.nacos.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.namespace=public

# redis address, needed if cluster mode
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.database=0
spring.redis.password=

redis 哨兵模式

如果 redis 使用哨兵模式,需要修改 redis 相关配置如下:

properties
spring.redis.sentinel.master=mymaster
spring.redis.sentinel.nodes=192.168.3.10:26379,192.168.3.10:26380,192.168.3.10:26381
spring.redis.password=123456
spring.redis.timeout=2000ms
  • 可选)配置日志自动清理

如果您使用了日志数据库,可以配置自动清理日志数据库中的日志。 修改conf/application.properties文件中的以下配置

properties
# 是否启用自动清理,默认是关闭的
# Enable or disable automatic cleanup of access logs (true/false)
access.log.autoClean.enable=false

# 清理任务调度时间,默认每天凌晨3点执行
# Cron expression for scheduling the access log cleanup task (executes daily at 3:00 AM by default)
access.log.autoClean.cron=0 0 3 * * ?

# 日志数据最大保留天数,默认15天
# Number of days to retain access logs before cleanup (15 days by default)
access.log.autoClean.retention.days=15

NOTE

仅企业版软件支持此项配置。

  • 可选)修改端口号

修改gateway端口号,在conf/application-gateway.yml文件中的server.port

yml
server:
  port: 8525

修改manager端口号,在conf/application-manager.properties文件中的server.port

properties
server.port=8523

修改apiServer端口号,在conf/application-apiServer.properties文件中的server.port

properties
server.port=8524

CAUTION

如果您启用了防火墙,修改端口后注意设置防火墙,保证manager可以访问到gatewayapiServergateway可以访问到apiServer

  • 可选)修改JVM启动参数

修改bin/jvm_env.properties文件中的manager_optsapiServer_optsgateway_opts值,分别为集群模式下三个组件(Manager、ApiServer、Gateway)配置 JVM 启动参数。支持添加任意 JVM 参数,包括垃圾回收器、堆内存(-Xms-Xmx)、元空间内存(-XX:MetaspaceSize-XX:MaxMetaspaceSize)等。此处配置的 JVM 参数优先级最高,将覆盖默认配置。

properties
# 集群部署的manager jvm参数配置
#manager_opts="-Xms512m -Xmx1g -Xmn512m"

# 集群部署的apiServer jvm参数配置
#apiServer_opts="-Xms1g -Xmx4g -Xmn2g"

# 集群部署的gateway jvm参数配置
#gateway_opts="-Xms1g -Xmx4g -Xmn2g"

可以保持默认不修改

  • 可选)配置 java 命令地址

如果您安装了多个版本的 JDK,需要使用指定版本的 JDK,请配置此项。 可以不配置,如果不配置默认使用环境变量中的 java 命令。

修改bin/jvm_env.properties文件中的JAVA_LOCATION值,值填写 java 命令所在的全路径,比如/usr/bin/java

properties
JAVA_LOCATION="/usr/bin/java"

WARNING

部署集群版,我们强烈建议您配置此项,因为集群启动脚本会使用 ssh 远程执行 java 命令,但是 ssh 远程执行命令时,默认不加载环境变量配置,这会导致可能识别不到系统的 java 命令

  • 修改conf/install_config.conf文件,配置要安装的机器节点
shell
# 所有要安装DBApi的主机ip或hostname,用逗号分隔
ips=host1,host2,host3

sshPort=22

# 要安装gateway的主机
gateway=host1

# 要安装apiServer的主机,多个用逗号分隔
apiServers=host1,host2,host3

# 要安装manager的主机
manager=host2

拷贝安装文件

  • 拷贝 host1 中的安装文件到其他每台机器的相同目录,可使用脚本一键拷贝
shell
bash bin/scp-host.sh

启动命令

  • 集群操作脚本
shell
# 一键启动集群
bash bin/start-all.sh

# 一键停止集群
bash bin/stop-all.sh

# 一键查看集群运行状态
bash bin/status-all.sh

# 手动启停单个服务
bash bin/dbapi-daemon.sh start gateway
bash bin/dbapi-daemon.sh start manager
bash bin/dbapi-daemon.sh start apiServer

bash bin/dbapi-daemon.sh stop gateway
bash bin/dbapi-daemon.sh stop manager
bash bin/dbapi-daemon.sh stop apiServer

# 手动重启单个服务
bash bin/dbapi-daemon.sh restart gateway
bash bin/dbapi-daemon.sh restart manager
bash bin/dbapi-daemon.sh restart apiServer

# 手动前台启动单个服务(可以在命令行前台查看日志)
bash bin/dbapi.sh start gateway
bash bin/dbapi.sh start manager
bash bin/dbapi.sh start apiServer

INFO

注意如果是ubuntu/debian系统,请使用bash命令,不要使用sh命令

集群版的 gateway/apiServer/manager 3种服务进程分别有自己的日志文件,日志文件分别是logs/dbapi-gateway.log logs/dbapi-apiServer.log logs/dbapi-manager.log

WARNING

第一次启动系统会自动退出,需要激活,激活后重启即可使用。一定要激活!激活!激活!要申请许可证才能用!要申请许可证才能用!要申请许可证才能用!

  • 浏览器访问http://192.168.xx.xx:8523进入 UI, API 通过 gateway 来访问http://192.168.xx.xx:8525/api/xx

TIP

如果您之前安装使用过低版本,为了防止有上个版本的浏览器缓存,请注意浏览器 Ctrl+F5 强制刷新缓存

MCP 安装

MCP 服务为 DBAPI 的独立组件,可单独部署于 DBAPI 的单机版或集群版之外。若不使用 MCP 服务,DBAPI 的核心功能仍可正常运行。

准备

  • 确保 DBAPI 的单机版或集群版已经安装并正常启动。仅在 DBAPI 可用时,MCP 才能正常工作。

修改配置

  • 进入 DBAPI 安装目录,编辑 mcp/mcp-config.yaml
yml
base_url: "http://127.0.0.1:8520"
admin_username: "admin"
admin_password: "admin"
mcp_port: 8526
refresh_interval: 60
  • 参数说明:
    • base_url:DBAPI 的访问地址。集群部署时请填写 manager 服务地址。
    • admin_usernameadmin_password:DBAPI 管理员账号。
    • mcp_port:MCP 服务监听端口。
    • refresh_interval:MCP 工具刷新间隔,单位为秒,默认 60 秒。

启动 MCP 服务

  • 进入 DBAPI 安装目录后执行:
shell
# 后台启动
bash bin/dbapi-mcp.sh start

# 停止、查看状态、重启
bash bin/dbapi-mcp.sh stop
bash bin/dbapi-mcp.sh status
bash bin/dbapi-mcp.sh restart

# 前台启动
bash bin/dbapi-mcp.sh fg
  • Windows 系统可双击 bin\dbapi-mcp.bat 启动 MCP 服务。

使用 MCP 服务

  • MCP 服务默认监听 http://127.0.0.1:8526,MCP 端点为 http://127.0.0.1:8526/mcp
  • MCP 服务默认使用 streamableHttp 方式。
  • 由于访问私有 API 时必须使用 Token。MCP 客户端调用服务时,需在请求头中添加 Authorization,格式为:
text
Authorization: <token>
  • 该 Token 可通过 DBAPI 的申请 Token API 获取。以 Cherry Studio 为例,配置如下:

NOTE

如果访问开放API, MCP 客户端调用服务时不需要设置请求头 Authorization

附录

  • docker 快速安装 nacos
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.4.2