初始化向导与数据库准备
首次启动后通过 /setup 向导选择内置或外接配置库、创建管理员账号;列出向导支持的数据库类型与建库授权语句。
概述
首次启动时程序找不到数据库配置,会进入 Setup 模式:此时只有初始化向导和健康检查可用,其余功能未启用。在向导中完成配置库连接与管理员账号后,程序自动建表并进入正常运行。
「配置库」保存平台自身的数据(报表与大屏定义、用户与权限、系统设置等)。业务数据源(报表取数用的数据库)另行在「数据源」中配置,与配置库无关,见 数据源配置。
功能入口
启动服务后,用浏览器访问:
- Sight Report:
http://<服务器IP>:9091/setup - Sight Wall:
http://<服务器IP>:9090/setup
向导共三步:「数据库配置」「管理员账号」「完成」。
操作步骤
方案一:内置数据库(试用)
- 在「请根据使用场景选择数据库」页选择「内置数据库」(标注「适用于试用或少量用户」)。
- 进入「请设置管理员账号和密码」页,填写用户名、密码与确认密码。
- 按需勾选「导入演示数据(推荐首次使用时勾选)」,该项默认勾选。
- 点击「确定」,出现「设置完成!」后点击「进入系统」。
内置数据库为 H2,以文件形式保存在程序目录的 data/work/db/ 下(连接串为 jdbc:h2:file:<程序目录>/data/work/db/db,用户名 sa,空密码)。向导页面自身说明它适用于试用或少量用户,正式使用建议选择外接数据库。
方案二:外接数据库(生产)
- 先在数据库服务器上建好库与用户,见下文「数据库准备」。
- 在选择页选择「外接数据库」(标注「适用于企业正式使用」)。
- 填写数据库连接项,见下表。填写完成后 JDBC URL 由页面自动拼装,也可手工修改。
- 点击「测试连接」,提示「数据库连接测试成功」后点击「下一步」。
- 设置管理员账号并点击「确定」。
数据库连接项:
| 字段 | 说明 | 取值/默认值 |
|---|---|---|
| 数据库类型 | 见下节支持列表 | 默认预选 MySQL,必选 |
| 主机 | 数据库地址 | 必填 |
| 端口 | 选择类型后自动带出默认端口 | 必填 |
| 用户名 | 数据库用户 | 必填 |
| 密码 | 数据库密码 | 必填 |
| 数据库名称 | 库名。Oracle 处填 SID 或服务名;达梦以用户名作为模式名,此处按向导说明填 sight_report |
必填 |
| 模式名称 | PostgreSQL 系数据库使用,可从下拉框选择已有模式,如 public |
PostgreSQL、Greenplum 等需要 |
| JDBC URL | 自动生成,可手工调整 | 文本 |
管理员账号规则:
| 字段 | 规则 |
|---|---|
| 用户名 | 不少于 3 位,必填 |
| 密码 | 不少于 6 位,必须同时包含字母、数字、特殊字符 |
| 确认密码 | 与密码一致 |
库中已有本系统数据表时
如果目标库里已存在本系统的数据表(以 sight_user 表是否可读判断),点击「确定」后会弹出「该数据库已存在本系统的数据表」确认框。选择「继续初始化」后,在现有数据上继续,已有数据不会被清空;同名的管理员账号若已存在会被重建。
数据库支持列表
向导提供以下类型(端口为向导带出的默认值):
| 分组 | 类型 | 默认端口 |
|---|---|---|
| 常用关系型数据库 | MySQL | 3306 |
| MariaDB | 3306 | |
| PostgreSQL | 5432 | |
| Oracle | 1521 | |
| SQL Server | 1433 | |
| 国产信创数据库 | 达梦 (DM) | 5236 |
| 人大金仓 (KingBase) | 54321 | |
| 华为 GaussDB / OpenGauss | 8000 | |
| 海量 Vastbase G100 | 5432 | |
| 云 / 分布式数据库 | 阿里云 PolarDB | 3306 |
| OceanBase(MySQL 模式) | 2881 | |
| TiDB | 4000 | |
| Greenplum | 5432 |
向导页的帮助说明中写明:MySQL 5.7+ / 8.0 可用,PostgreSQL 10+ 可用,SQL Server 2012+ 可用。
数据库准备
以下语句取自向导内置的「数据库配置指南」,库名与用户名统一为 sight_report,密码请替换。
MySQL / MariaDB(使用 utf8mb4 字符集):
CREATE DATABASE sight_report DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sight_report'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON sight_report.* TO 'sight_report'@'%';
FLUSH PRIVILEGES;
PostgreSQL(使用 public 模式):
CREATE DATABASE sight_report;
CREATE USER sight_report WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE sight_report TO sight_report;
\c sight_report
GRANT ALL ON SCHEMA public TO sight_report;
SQL Server(需开启混合身份验证):
CREATE DATABASE sight_report;
CREATE LOGIN sight_report WITH PASSWORD = 'your_password';
USE sight_report;
CREATE USER sight_report FOR LOGIN sight_report;
ALTER ROLE db_owner ADD MEMBER sight_report;
Oracle(以用户作为模式,「数据库名」填 SID 或服务名):
CREATE USER sight_report IDENTIFIED BY your_password;
GRANT CONNECT, RESOURCE TO sight_report;
ALTER USER sight_report QUOTA UNLIMITED ON USERS;
达梦、人大金仓、GaussDB / OpenGauss、Vastbase 的建库语句见向导内的「如何配置?」。
注意:建表与后续版本升级时的表结构变更都由配置库账号执行,账号需要建表、改表权限。
配置保存位置
向导成功后,连接信息写入 <程序目录>/data/work/database.config,其中的密码经加密后以 ENC(...) 形式保存。该文件属于机密文件,备份与权限管理时请一并考虑。之后每次启动程序都读取这个文件。
以环境变量提供连接信息的方式见 容器化部署。
注意事项
注意:向导只在系统尚未初始化时可用。已初始化后再次提交初始化请求会被拒绝,提示「系统已初始化,请勿重复初始化」。
注意:如果已配置的数据库在启动时不可达,程序不会退出,而是先以降级模式启动 Web 服务,并每 15 秒重试连接,恢复后自动切换到真实库并完成迁移。此期间
/api/health返回dbConfigured为true、dbReachable为false。
提示:设置管理员账号时,若「模式名称」填错,向导的测试连接与迁移阶段会给出「检查模式名称与权限」的提示,PostgreSQL 系需为用户授予对应模式的建表权限。