Skip to content

DB Config

zongfei.fu edited this page Mar 8, 2024 · 6 revisions

配置审核/查询数据库实例

在我们开始使用DML/DDL/导出工单数据查询功能前,我们必须先配置好数据库用途为工单查询的实例。

如下图所示(首页架构图中部分截图),为我们要配置的部分:

image

一、配置数据库访问账号

编辑配置文件

Important

该账号用于系统访问远程数据库实例,用于语法检查、提交/执行工单、数据查询等场景。请注意:系统不会乱用账号权限,也不会收集任何账号信息。请保管好账号,不要泄露,否则可能会导致安全风险。

config.yaml

remotedb:
  username: "goinsight_rw"        # 建议您更换账号
  password: "goinsight@1234.Com"  # 建议您更换为复杂的密码

创建数据库访问账号

Important

用途为工单查询的实例会自动使用该账号访问您配置的远程数据库实例

用途为工单查询的实例上创建账号

# 创建用户
create user 'goinsight_rw'@'%' identified by '复杂的密码';

# 'goinsight_rw'@'%'中的建议您更换为goinsight服务所在的主机地址
# 如果平台缺少权限,请在单独加
grant select,insert,update,delete,Alter,Create,Create view,Drop,Index,Replication slave on *.* to 'goinsight_rw'@'%';

# 刷新权限(可不执行)
flush privileges;

二、配置数据库实例

Tip

请确保完成了第一步【配置数据库访问账号】,下面配置的实例会使用您上面配置的数据库用户goinsight_rw访问远程实例。

管理员账号登录系统,位置:Admin -> 系统配置 -> 数据库实例配置,如下图:

image

您可以新建用途为工单查询的实例,并确保goInsight部署的主机能够访问到实例。

  • 工单用途的实例为用户提交DDL/DML工单使用
  • 查询用途的实例为用户提供数据查询使用。

配置工单用途实例,如下图:

实例级别审核参数,优先级大于系统级别

image

配置查询用途实例,如下图:

image

三、元数据同步

Tip

如果在定时任务执行后,前端工单页面仍然获取不到数据,请检查系统日志是否出现错误和insight_db_schemas是否有数据。

实例配置完成后,系统会默认每5分钟同步一次远程实例的库表元数据,定时任务在config.yaml里面配置,最短可配置1分钟级别。同步的库元信息会存储在表insight_db_schemas里面,这里只会同步库名。

crontab:
  sync_db_metas: "*/5 * * * *" # 每5分钟同步一次远程数据库库表元数据到本地数据库