CloudBeaver 26.2.3 配置参数详解

CloudBeaver 26.2.3 配置参数详解:cloudbeaver.conf 静态层/环境变量/运行时配置三层体系与固化机制,server/sm/database/app/resourceQuotas/disabledDrivers 全参数默认值与逐项实测,口令策略不拦管理 API 的实测发现,以及改值-重建-验证全流程与生产配置模板。

CloudBeaverCloudBeaver数据库2026/10/25

CloudBeaver 26.2.3 配置参数详解

目标:把 CloudBeaver Community 26.2.3 的配置拆成「静态配置文件」「环境变量」「运行时配置」三层,逐项给出默认值、作用、修改方式与验证命令。文中所有回显均为本机实测(CloudBeaver Community 26.2.3.202610190842、Ubuntu 24.04.5、Docker 29.9.2、Compose v5.6.1),取材日期 2026-10-25;部署流程见《CloudBeaver 26.2.3 Docker Compose 部署指南》,产品定位见《CloudBeaver 26.2.3 介绍与选型指南》。

一、环境信息

  • 应用版本:CloudBeaver Community 26.2.3(构建号 26.2.3.202610190842),内嵌 Jetty 12.1.11、OpenJDK 25.0.4.1
  • 对外端口:8978
  • 部署形态:Docker Compose(编排含 PostgreSQL 16 / MariaDB 11.8 两个演示库),部署目录 /opt/cloudbeaver
  • 配置入口:发行内 /opt/cloudbeaver/conf/cloudbeaver.conf(静态层)、编排 environment:(环境变量层)、工作区 workspace/.data/.cloudbeaver.runtime.conf(运行时层)
  • 演示账号:管理员 root / q1w2e3r4;普通用户 alice / q1w2e3r4
  • 实测基线:JAVA_OPTS=-Xms256m -Xmx512m,其余全默认

本文每个重点参数都按「改值 → 重建服务 → 用接口回显验证」的方式实测,结果汇总在第十一章。

二、前置条件

按部署篇完成安装并能登录管理员账号即可。本文所有在线验证都通过 GraphQL 端点 /api/gql 完成,先取管理员会话(返回的 cb-session-id Cookie 存入 ck.txt 供后续命令复用):

curl -s -c ck.txt -H 'Content-Type: application/json' http://127.0.0.1:8978/api/gql \
  -d '{"query":"query { authLogin(provider: \"local\", credentials: { user: \"root\", password: \"q1w2e3r4\" }) { userTokens { userId } } }"}'

实测回显:

{"data":{"authLogin":{"userTokens":[{"userId":"root"}]}}}

查看生效配置的统一入口是 serverConfig 查询:

curl -s -b ck.txt -H 'Content-Type: application/json' http://127.0.0.1:8978/api/gql \
  -d '{"query":"query { serverConfig { name version sessionExpireTime anonymousAccessEnabled bindSessionToIp enabledAuthProviders disabledDrivers resourceQuotas passwordPolicyConfiguration { minLength minNumberCount minSymbolCount requireMixedCase } } }"}'

三、配置体系总览

CloudBeaver 的配置分三层,职责与优先级不同,混用会导致「改了没生效」:

层位置管什么优先级生效时机
静态配置/opt/cloudbeaver/conf/cloudbeaver.conf全部参数的默认值模板低进程启动时读取
环境变量编排 environment: 段穿透两层的 ${VAR:默认} 占位中启动时解析占位符
运行时配置workspace/.data/.cloudbeaver.runtime.conf初始化向导与管理界面写入的值高启动时覆盖静态层

两个关键机制:

  1. 占位符语法:两层文件都是 JSONC(允许注释的 JSON),值形如 "${CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD:1800000}"——环境变量存在就用环境变量,否则用冒号后的默认值。这就是「环境变量层」的实现方式。
  2. 运行时层固化:初始化向导或管理界面保存配置时,服务会把当前生效值写进运行时层的占位符默认值。实测把环境变量 CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD 设为 3600000 后,运行时配置里该键的模板默认值从出厂的 604800000(7 天)被改写为 3600000——之后即使删掉环境变量,生效值仍是固化后的 3600000,而不是出厂默认。这是「删了变量配置却没还原」的常见根因。

四、参数查看与修改方式

4.1 查看:直接读文件

静态层完整内容(发行内 /opt/cloudbeaver/conf/cloudbeaver.conf,逐行照抄):

{
    server: {
        serverPort: "${CLOUDBEAVER_WEB_SERVER_PORT:8978}",
        forceHttps: "${CLOUDBEAVER_FORCE_HTTPS:false}",
        contentRoot: "${CLOUDBEAVER_CONTENT_ROOT:web}",
        driversLocation: "${CLOUDBEAVER_DRIVERS_LOCATION:drivers}",
        sslConfigurationPath: "${CLOUDBEAVER_SSL_CONF_PATH:workspace/.data/ssl-config.xml}",
        rootURI: "${CLOUDBEAVER_ROOT_URI:/}",
        serviceURI: "${CLOUDBEAVER_SERVICE_URI:/api/}",
        supportedHosts: [
        ],
        productSettings: {
            core.theming.theme: "${CLOUDBEAVER_CORE_THEMING_THEME:system}",
            core.localization.language: "${CLOUDBEAVER_CORE_LOCALIZATION:en}",
            plugin.sql-editor.autoSave: "${CLOUDBEAVER_SQL_EDITOR_AUTOSAVE:true}",
            plugin.sql-editor.disabled: "${CLOUDBEAVER_SQL_EDITOR_DISABLED:false}",
            plugin.sql-editor.maxFileSize: "${CLOUDBEAVER_SQL_EDITOR_MAX_FILE_SIZE:10240}",
            plugin.log-viewer.disabled: "${CLOUDBEAVER_LOG_VIEWER_DISABLED:false}",
            plugin.log-viewer.logBatchSize: "${CLOUDBEAVER_LOG_VIEWER_LOG_BATCH_SIZE:1000}",
            plugin.log-viewer.maxLogRecords: "${CLOUDBEAVER_LOG_VIEWER_MAX_LOG_RECORDS:2000}",
            sql.proposals.insert.table.alias: "${CLOUDBEAVER_SQL_PROPOSALS_INSERT_TABLE_ALIAS:PLAIN}",
            SQLEditor.ContentAssistant.experimental.mode: "${CLOUDBEAVER_SQL_EDITOR_CONTENT_ASSISTANT_EXPERIMENTAL_MODE:NEW}"
        },
        expireSessionAfterPeriod: "${CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD:1800000}",
        bindSessionToIp: "${CLOUDBEAVER_BIND_SESSION_TO_IP:disable}",
        develMode: "${CLOUDBEAVER_DEVEL_MODE:false}",
        sm: {
            enableBruteForceProtection: "${CLOUDBEAVER_BRUTE_FORCE_PROTECTION_ENABLED:true}",
            maxFailedLogin: "${CLOUDBEAVER_MAX_FAILED_LOGINS:10}",
            minimumLoginTimeout: "${CLOUDBEAVER_MINIMUM_LOGIN_TIMEOUT:1}",
            blockLoginPeriod: "${CLOUDBEAVER_BLOCK_PERIOD:300}",
            passwordPolicy: {
                minLength: "${CLOUDBEAVER_POLICY_MIN_LENGTH:8}",
                requireMixedCase: "${CLOUDBEAVER_POLICY_REQUIRE_MIXED_CASE:true}",
                minNumberCount: "${CLOUDBEAVER_POLICY_MIN_NUMBER_COUNT:1}",
                minSymbolCount: "${CLOUDBEAVER_POLICY_MIN_SYMBOL_COUNT:0}"
            }
        },
        database: {
            driver: "${CLOUDBEAVER_DB_DRIVER:h2_embedded_v2}",
            url: "${CLOUDBEAVER_DB_URL:jdbc:h2:${workspace}/.data/cb.h2v2.dat}",
            schema: "${CLOUDBEAVER_DB_SCHEMA:''}",
            user: "${CLOUDBEAVER_DB_USER:''}",
            password: "${CLOUDBEAVER_DB_PASSWORD:''}",
            initialDataConfiguration: "${CLOUDBEAVER_DB_INITIAL_DATA:conf/initial-data.conf}",
            pool: {
                minIdleConnections: "${CLOUDBEAVER_DB_MIN_IDLE_CONNECTIONS:4}",
                maxIdleConnections: "${CLOUDBEAVER_DB_MAX_IDLE_CONNECTIONS:10}",
                maxConnections: "${CLOUDBEAVER_DB_MAX_CONNECTIONS:100}",
                validationQuery: "${CLOUDBEAVER_DB_VALIDATION_QUERY:SELECT 1}"
            },
            backupEnabled: "${CLOUDBEAVER_DB_BACKUP_ENABLED:true}"
        }
    },
    app: {
        anonymousAccessEnabled: "${CLOUDBEAVER_APP_ANONYMOUS_ACCESS_ENABLED:true}",
        anonymousUserRole: "${CLOUDBEAVER_APP_ANONYMOUS_USER_ROLE:user}",
        defaultUserTeam: "${CLOUDBEAVER_APP_DEFAULT_USER_TEAM:user}",
        grantConnectionsAccessToAnonymousTeam: "${CLOUDBEAVER_APP_GRANT_CONNECTIONS_ACCESS_TO_ANONYMOUS_TEAM:false}",
        supportsCustomConnections: "${CLOUDBEAVER_APP_SUPPORTS_CUSTOM_CONNECTIONS:false}",
        showReadOnlyConnectionInfo: "${CLOUDBEAVER_APP_READ_ONLY_CONNECTION_INFO:false}",
        systemVariablesResolvingEnabled: "${CLOUDBEAVER_SYSTEM_VARIABLES_RESOLVING_ENABLED:false}",
        forwardProxy: "${CLOUDBEAVER_APP_FORWARD_PROXY:false}",
        publicCredentialsSaveEnabled: "${CLOUDBEAVER_APP_PUBLIC_CREDENTIALS_SAVE_ENABLED:true}",
        adminCredentialsSaveEnabled: "${CLOUDBEAVER_APP_ADMIN_CREDENTIALS_SAVE_ENABLED:true}",
        resourceManagerEnabled: "${CLOUDBEAVER_APP_RESOURCE_MANAGER_ENABLED:true}",
        dbUserPasswordChangeEnabled: "${CLOUDBEAVER_APP_DB_USER_PASSWORD_CHANGE_ENABLED:false}",
        resourceQuotas: {
            resourceManagerFileSizeLimit: "${CLOUDBEAVER_RESOURCE_QUOTA_RESOURCE_MANAGER_FILE_SIZE_LIMIT:500000}",
            sqlMaxRunningQueries: "${CLOUDBEAVER_RESOURCE_QUOTA_SQL_MAX_RUNNING_QUERIES:100}",
            sqlResultSetRowsLimit: "${CLOUDBEAVER_RESOURCE_QUOTA_SQL_RESULT_SET_ROWS_LIMIT:100000}",
            sqlTextPreviewMaxLength: "${CLOUDBEAVER_RESOURCE_QUOTA_SQL_TEXT_PREVIEW_MAX_LENGTH:4096}",
            sqlBinaryPreviewMaxLength: "${CLOUDBEAVER_RESOURCE_QUOTA_SQL_BINARY_PREVIEW_MAX_LENGTH:261120}"
        },
        enabledAuthProviders: [
            "local"
        ],
        disabledBetaFeatures: [
        ]
    }
}

运行时层在工作区里,初始化后才有,关键节选(实测):

{
  "server": {
    "serverName": "CloudBeaver Lab",
    "expireSessionAfterPeriod": "${CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD:3600000}",
    "database": {
      "url": "${CLOUDBEAVER_DB_URL:jdbc:h2:/opt/cloudbeaver/workspace/.data/cb.h2v2.dat}",
      "user": "${CLOUDBEAVER_DB_USER:cb-data}",
      "password": "${CLOUDBEAVER_DB_PASSWORD:NJY99CKS}"
    }
  },
  "app": {
    "enabledFeatures": ["ssh", "ai"],
    "disabledDrivers": ["duckdb:duckdb_jdbc", "h2:h2_embedded", "h2:h2_embedded_v2", "h2:h2_embedded_v3", "sqlite:sqlite_jdbc"]
  }
}

注意运行时层自动生成了内嵌 H2 库的账号口令(cb-data / 随机串,每个工作区不同);disabledDrivers 的实际生效清单以运行时层为准,与静态层默认不同(见第十章)。

4.2 修改:三种途径

  1. 环境变量(推荐):在编排 environment: 段加同名变量,docker compose up -d 重建生效。只 restart 不会应用新的变量定义。
  2. 管理界面:设置 → 管理 → Server configuration,保存后写入运行时层并立即或重启后生效(视参数而定)。
  3. 直改配置文件:编辑两层文件之一后重启。改静态层建议挂载自己的 cloudbeaver.conf 纳入版本管理(挂载方法见部署篇第七章)。

4.3 验证:serverConfig 回显

改完用第二章的 serverConfig 查询核对。本文基线(已含第十一章的三处环境变量实测值)实测回显:

{
    "data": {
        "serverConfig": {
            "name": "CloudBeaver Lab",
            "version": "26.2.3.202610190842",
            "sessionExpireTime": 3600000,
            "anonymousAccessEnabled": true,
            "bindSessionToIp": "disable",
            "enabledAuthProviders": ["local"],
            "disabledDrivers": ["duckdb:duckdb_jdbc", "h2:h2_embedded", "h2:h2_embedded_v2", "h2:h2_embedded_v3", "sqlite:sqlite_jdbc"],
            "resourceQuotas": {
                "resourceManagerFileSizeLimit": "500000",
                "sqlMaxRunningQueries": "100",
                "sqlResultSetRowsLimit": "50000",
                "sqlTextPreviewMaxLength": "4096",
                "sqlBinaryPreviewMaxLength": "261120"
            },
            "passwordPolicyConfiguration": {
                "minLength": 10,
                "minNumberCount": 1,
                "minSymbolCount": 0,
                "requireMixedCase": false
            }
        }
    }
}

五、服务器与网络参数

参数(环境变量)默认说明
serverPort(CLOUDBEAVER_WEB_SERVER_PORT)8978HTTP 监听端口
forceHttps(CLOUDBEAVER_FORCE_HTTPS)false强制 HTTPS:HTTP 跳转 443、Cookie 加 Secure;⚠️ 前置代理 TLS 就绪前开启会让服务不可达
rootURI / serviceURI/ / /api/Web 根路径与 API 前缀
contentRoot / driversLocationweb / drivers前端静态资源与驱动库目录
supportedHosts[]允许访问的 Host 白名单,空为不限制
expireSessionAfterPeriod(CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD)静态层 1800000(30 分钟);运行时模板出厂 604800000(7 天)会话空闲过期毫秒数,实际生效以运行时层为准
bindSessionToIpdisable会话绑定客户端 IP;开启动态 IP 环境会频繁掉线
develModefalse开发模式,生产保持关闭

productSettings 一组控制前端行为:主题(system)、语言(en)、SQL 编辑器自动保存(true)与脚本大小上限(10240 KB)、日志查看器批量(1000)与最大记录(2000)等,均为环境变量可覆盖。

六、安全与会话参数

6.1 防爆破(server.sm)

参数默认说明
enableBruteForceProtectiontrue登录防爆破总开关
maxFailedLogin10连续失败次数上限
minimumLoginTimeout1登录尝试最小间隔(秒)
blockLoginPeriod300超限后锁定秒数

6.2 口令策略(server.sm.passwordPolicy)

参数默认本文实测值说明
minLength810最小长度
requireMixedCasetruefalse要求大小写混合
minNumberCount11最少数字个数
minSymbolCount00最少符号个数

在线回显入口是 serverConfig.passwordPolicyConfiguration(回显见 4.3)。

⚠️ 实测重要发现:口令策略只在浏览器界面的改密流程强制,管理 API 路径不校验。实测用管理员会话把 alice 的口令改成 3 位的 abc(低于 minLength: 10、无数字),接口直接返回成功,且 alice 能用 abc 正常登录:

{"data":{"setUserCredentials":true}}
{"data":{"authLogin":{"userTokens":[{"userId":"alice"}]}}}

结论:策略参数约束的是自助改密,不能替代管理员层面的口令审计;通过 API 批量建账号时必须自行保证口令强度(实测后已把 alice 恢复为 q1w2e3r4)。

6.3 认证与访问

参数默认说明
enabledAuthProviders["local"]启用的认证提供方;CE 只有 local
anonymousAccessEnabledtrue允许匿名访问;团队服务器建议设 CLOUDBEAVER_APP_ANONYMOUS_ACCESS_ENABLED=false
anonymousUserRole / defaultUserTeamuser / user匿名用户与新用户的默认角色
grantConnectionsAccessToAnonymousTeamfalse是否把连接授权给匿名组

七、内部数据库与连接池参数

CloudBeaver 把用户、口令哈希、连接定义、凭据、权限存在内部库。CE 默认且仅随包携带 H2(h2_embedded_v2,文件即工作区 .data/cb.h2v2.dat);PostgreSQL / MariaDB / Oracle / SQL Server 作为内部库属商业版能力。

参数默认说明
database.driverh2_embedded_v2内部库驱动
database.urljdbc:h2:${workspace}/.data/cb.h2v2.dat库文件位置,${workspace} 即工作区
database.user / database.password空(初始化时随机生成并固化进运行时层)内嵌库账号口令
database.initialDataConfigurationconf/initial-data.conf初始化数据,内置 admin(全权限)与 user 两个角色——这也是管理员账号不能取名 admin 的原因
database.pool.minIdleConnections / maxIdleConnections / maxConnections4 / 10 / 100内部库连接池
database.pool.validationQuerySELECT 1连接有效性探测
database.backupEnabledtrue升级前自动备份内部库

⚠️ 注意:若手工把内部库改成外部 PostgreSQL,CE 发行内没有 pg_dump,自动备份会失败并导致服务无法启动;此时必须设 CLOUDBEAVER_DB_BACKUP_ENABLED=false 并自行备份(官方 Wiki《Server Database》)。

八、应用行为参数(app 段)

参数默认说明
supportsCustomConnectionsfalse是否允许用户自建连接;CE 默认关,连接由管理员下发
publicCredentialsSaveEnabled / adminCredentialsSaveEnabledtrue / true普通用户/管理员能否保存数据库凭据
resourceManagerEnabledtrue资源管理器(脚本文件)开关
dbUserPasswordChangeEnabledfalse是否允许改数据库侧口令
forwardProxyfalse位于反代之后时设 true,审计日志才能记录真实客户端 IP
showReadOnlyConnectionInfofalse连接信息只读展示
systemVariablesResolvingEnabledfalse是否解析系统变量
disabledBetaFeatures[]关闭指定 Beta 功能

运行时层还有一份 enabledFeatures: ["ssh", "ai"],控制 SSH 隧道与 AI 助手两大功能块。

九、资源配额参数(app.resourceQuotas)

参数默认说明
resourceManagerFileSizeLimit500000资源管理器单文件大小上限(KB)
sqlMaxRunningQueries100并发执行查询数上限
sqlResultSetRowsLimit100000单条查询结果集行数上限(本文实测改为 50000)
sqlTextPreviewMaxLength4096文本字段预览长度
sqlBinaryPreviewMaxLength261120二进制字段预览长度

这组参数是「浏览器端防误伤」的最后防线:结果集行数上限防止一条 SELECT * 把大表拖进浏览器。注意 serverConfig 回显中配额值是字符串类型。

十、驱动管理参数

CE 26.2.3 预下载 18 个驱动(实测 driverList 查询):

驱动 ID名称默认状态
postgresql:postgres-jdbcPostgreSQL可用
mysql:mysql8 / mysql:mariaDBMySQL / MariaDB可用
oracle:oracle_thinOracle可用
sqlserver:microsoftSQL Server可用
clickhouse:com_clickhouseClickHouse可用
db2:db2 / db2_i:db2_iseriesDb2 LUW / Db2 for IBM i可用
jaybird:jaybirdFirebird可用
generic:trino_jdbc / generic:kyuubi_hiveTrino / Apache Kyuubi可用
databend:databend_jdbc / sqlite:libsql_jdbcDatabend / LibSQL可用
duckdb:duckdb_jdbcDuckDB禁用
h2:h2_embedded / h2:h2_embedded_v2 / h2:h2_embedded_v3H2 系列禁用
sqlite:sqlite_jdbcSQLite禁用

静态层默认 disabledDrivers 为 [h2:h2_embedded, h2:h2_embedded_v2, clickhouse:yandex_clickhouse, generic:duckdb_jdbc, sqlite:sqlite_jdbc],而运行时层实际生效清单为 [duckdb:duckdb_jdbc, h2:h2_embedded, h2:h2_embedded_v2, h2:h2_embedded_v3, sqlite:sqlite_jdbc](驱动 ID 带版本前缀格式不同,且多了 h2_embedded_v3、少了旧版 ClickHouse)——以运行时层/在线回显为准。

禁用语义实测(驱动 sqlite:sqlite_jdbc):

  • 建连接不拦:createConnection 正常返回连接对象;
  • 执行期才拦:initConnection 报错——
{
    "errors": [
        {
            "message": "Error connecting to database:\nDriver disabled",
            "path": ["initConnection"],
            "extensions": {"exceptionClass": "org.jkiss.dbeaver.DBException", "classification": "DataFetchingException"}
        }
    ],
    "data": null
}

启用被禁驱动的方式:管理界面 → Server configuration → Drivers 勾选,或从运行时层的 disabledDrivers 数组移除后重启。

十一、环境变量实测:改值 → 重建 → 验证

以三个参数为例走完整流程。在编排 environment: 段追加:

      CLOUDBEAVER_POLICY_REQUIRE_MIXED_CASE: "false"
      CLOUDBEAVER_POLICY_MIN_LENGTH: "10"
      CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD: "3600000"
      CLOUDBEAVER_RESOURCE_QUOTA_SQL_RESULT_SET_ROWS_LIMIT: "50000"

重建服务:

cd /opt/cloudbeaver
docker compose up -d

实测回显(节选):

 Container cloudbeaver-2623-stack-cloudbeaver-1 Recreated
 Container cloudbeaver-2623-stack-cloudbeaver-1 Started

再跑 4.3 的 serverConfig 查询,四处全部生效(回显完整 JSON 见 4.3):

  • sessionExpireTime: 1800000 → 3600000(1 小时)
  • passwordPolicyConfiguration.minLength: 8 → 10,requireMixedCase: true → false
  • resourceQuotas.sqlResultSetRowsLimit: "100000" → "50000"

同时启动日志中会话相关行同步变化:Max http session idle time: 3600s。再把变量删掉重建,由于运行时层已固化(见第三章机制 2),取值不会回退到出厂默认;要回退需在管理界面改回或删除工作区重新初始化。

十二、生产配置模板

适用场景:8 GB 内存的内网团队服务器、约 20 个用户、以只读查询为主。在编排 environment: 段使用:

      CB_SERVER_NAME: "CloudBeaver Prod"
      CB_SERVER_URL: "https://cloudbeaver.example.com/"
      JAVA_OPTS: "-Xms256m -Xmx512m"
      TZ: "Asia/Shanghai"
      # 安全基线
      CLOUDBEAVER_APP_ANONYMOUS_ACCESS_ENABLED: "false"
      CLOUDBEAVER_POLICY_MIN_LENGTH: "10"
      CLOUDBEAVER_POLICY_REQUIRE_MIXED_CASE: "true"
      CLOUDBEAVER_EXPIRE_SESSION_AFTER_PERIOD: "1800000"
      # 资源护栏
      CLOUDBEAVER_RESOURCE_QUOTA_SQL_RESULT_SET_ROWS_LIMIT: "50000"
      CLOUDBEAVER_RESOURCE_QUOTA_SQL_MAX_RUNNING_QUERIES: "50"
      # 反代之后开启
      CLOUDBEAVER_APP_FORWARD_PROXY: "true"

要点解读:堆上限 512 MB 足够 20 人级团队;会话 30 分钟过期提高账号安全;结果集 5 万行、并发查询 50 防止个别大查询拖垮服务;forwardProxy 与强制 HTTPS 只在反代 TLS 就绪后开启。用户数上百时先把堆提到 -Xmx1g 再观察,不要一次给足整机内存。

十三、常见问题

Q1:改了环境变量没生效

只用了 docker compose restart(只重启进程)。必须 docker compose up -d 重建服务;重建后用 4.3 的查询回显核对。

Q2:删掉环境变量后配置没还原

运行时层已把当时的生效值固化进占位符默认值(第三章机制 2)。在管理界面改回,或停服后编辑 workspace/.data/.cloudbeaver.runtime.conf 对应键,再启动。

Q3:口令策略设为最小 10 位,API 仍能把口令改成 3 位

实测确认:策略只在浏览器自助改密流程强制,管理 API(setUserCredentials)与登录不校验(见 6.2)。需要强保证时在账号发放流程里自行校验。

Q4:新建 SQLite 连接成功,一连就报 Driver disabled

驱动在禁用清单里,创建不拦、执行期才拦(第十章)。在管理界面 Drivers 里启用对应驱动后重试。

Q5:内嵌 H2 库的账号口令是什么

每个工作区初始化时随机生成,写在 workspace/.data/.cloudbeaver.runtime.conf 的 database.user / database.password 里;服务运行期间 H2 文件被独占锁定,直读需先停服(操作实例见部署篇第十一章 Q1)。

Q6:想彻底重置所有配置

停服后清空工作区目录再启动,即回到首次初始化状态(向导或 CB_ADMIN_* 自动初始化)。工作区即全部状态,清空前先备份。

十四、参考链接