Skip to content

Latest commit

 

History

History
192 lines (143 loc) · 7.05 KB

File metadata and controls

192 lines (143 loc) · 7.05 KB

CloudDM

一款免费且开源的数据库管理工具,适合团队化使用。它提供了访问控制、数据脱敏、SQL 审核、CI/CD 等能力,并支持跨地区部署。

首页文档BlogGiteeGitHub

[中文] [English] [FAQ]

pic_cn.png


项目信息

字段 内容
项目名称 CloudDM
代码仓库 https://github.com/ClouGence/open-cdm
国内镜像 https://gitee.com/clougence/open-cdm
官网 https://www.cdmgr.com/
文档 https://www.cdmgr.com/docs/intro/product_intro
开源协议 Apache License 2.0
当前版本 4.0.1
主要语言 Java、JavaScript / TypeScript
部署模式 单机模式(Alone)、集群模式(Console + Sidecar)
部署方式 安装包、Docker、Kubernetes

核心能力

数据查询

  • 支持丰富的数据源类型
    • MySQL、Oracle、MariaDB、PostgreSQL、IBM DB2、SQL Server、OceanBase
    • SAP Hana、StarRocks、Doris、SelectDB、ClickHouse、PolarDB、TiDB、Greenplum
    • Hologres、达梦、高斯数据库、AnalyticDB MySQL、MaxCompute、Redis、MongoDB
  • 通过统一 Web 控制台访问数据库,支持事务、隔离级别和查询计划
  • 提供查询编辑器、语法高亮、智能提示、执行计划、结果导出等能力

数据库管理

  • 支持数据库对象包括:库、模式、表、列、索引、视图、函数、存储过程、触发器、用户、角色等
  • 支持可视化管理数据库对象,如创建、删除、修改和查看属性
  • 支持通过环境和集群管理不同数据源

权限控制

  • 采用 资源功能 分离的授权模式
    • 资源权限可在实例、数据库、Schema、表上进行授权,具体取决于语句类型
    • 功能授权基于角色访问控制(RBAC),通过角色授权到人
  • 支持 申请权限赋予权限临时权限

数据库 CI/CD

  • 提供 Git PushWeb HookHttpCall 三种方式触发 CI/CD 流程
  • 支持 Gitee 和 GitLab Self-Managed 作为变更仓库

SQL 审核

  • 支持 审核规则安全规范数据脱敏
    • 内置 54 条规则,并支持通过规则脚本自定义扩展
  • 支持在 SQL 执行前进行 SQL 预检,提示风险或阻断执行

协同与流程

  • 支持 SQL 审核权限工单变更流程 三种流程
  • 支持 手动执行立即执行定时执行 三种方式执行工单
  • 流程引擎:内置、钉钉、飞书、企业微信
  • 统一认证/SSO:OpenLDAP / OpenID Connect (OIDC) / Windows AD / 钉钉 / 飞书 / 企业微信

快速开始

安装

CloudDM 支持 单机模式(Alone)集群模式(Console + Sidecar),同时支持 安装包DockerKubernetes 多种部署方式。

下面以单机模式部署来展示如何使用。如果你需要安装包部署、集群部署或 Kubernetes 部署,可使用本地打包后生成的安装包和 yml 文件继续部署。完整部署说明请参考 deployment.cn.md

# 快速启动,默认镜像
docker run -d --name cgdm-alone \
  -p 8222:8222 \
  -v cgdm_alone_conf:/root/cgdm/alone/conf \
  -v cgdm_alone_logs:/root/cgdm/alone/logs \
  -v cgdm_alone_data:/root/cgdm/alone/data \
  -v cgdm_mysql_data:/var/lib/mysql \
  bladepipe/cgdm-alone:4.0.1

# 中国地区,使用加速镜像
docker run -d --name cgdm-alone \
  -p 8222:8222 \
  -v cgdm_alone_conf:/root/cgdm/alone/conf \
  -v cgdm_alone_logs:/root/cgdm/alone/logs \
  -v cgdm_alone_data:/root/cgdm/alone/data \
  -v cgdm_mysql_data:/var/lib/mysql \
  cloudcanal-registry.cn-shanghai.cr.aliyuncs.com/clougence/cgdm-alone:4.0.1

本地目录挂载示例:

mkdir -p /data/cgdm/{conf,logs,data,mysql}

docker run -d --name cgdm-alone \
  -p 8222:8222 \
  -v /data/cgdm/conf:/root/cgdm/alone/conf \
  -v /data/cgdm/logs:/root/cgdm/alone/logs \
  -v /data/cgdm/data:/root/cgdm/alone/data \
  -v /data/cgdm/mysql:/var/lib/mysql \
  bladepipe/cgdm-alone:4.0.1

/data/cgdm/conf 是空目录时,CloudDM 会在启动时自动写入默认配置文件。

离线镜像部署

内网无法访问镜像仓库时,可从 GitHub Release 下载对应架构的镜像归档 cgdm-alone-image-<arch>.tar.gz,在目标主机加载后按上述方式启动。

gunzip -c cgdm-alone-image-<arch>.tar.gz | docker load

加载得到镜像 bladepipe/cgdm-alone:<version>,随后使用该镜像按上文的 docker run 启动即可。

集群部署请使用 cgdm-cluster-image-<arch>.tar.gz,其中包含对应版本的 Console、Sidecar 镜像以及 mysql:8.0

升级

升级前建议先备份 Docker 卷或数据库数据。升级时删除旧容器并使用相同卷启动新版本镜像即可保留已有数据。

# 默认镜像
docker rm -f cgdm-alone
docker pull bladepipe/cgdm-alone:4.0.1
docker run -d --name cgdm-alone \
  -p 8222:8222 \
  -v cgdm_alone_conf:/root/cgdm/alone/conf \
  -v cgdm_alone_logs:/root/cgdm/alone/logs \
  -v cgdm_alone_data:/root/cgdm/alone/data \
  -v cgdm_mysql_data:/var/lib/mysql \
  bladepipe/cgdm-alone:4.0.1

# 中国区加速镜像
docker rm -f cgdm-alone
docker pull cloudcanal-registry.cn-shanghai.cr.aliyuncs.com/clougence/cgdm-alone:4.0.1
docker run -d --name cgdm-alone \
  -p 8222:8222 \
  -v cgdm_alone_conf:/root/cgdm/alone/conf \
  -v cgdm_alone_logs:/root/cgdm/alone/logs \
  -v cgdm_alone_data:/root/cgdm/alone/data \
  -v cgdm_mysql_data:/var/lib/mysql \
  cloudcanal-registry.cn-shanghai.cr.aliyuncs.com/clougence/cgdm-alone:4.0.1

初始化

通过浏览器访问产品

http://localhost:8222

首次部署访问会进入初始化向导;升级时会进入升级向导。

如果你并未修改过账号,则默认为 admin@cdmgr.com

添加数据源

ds_add_cn.png

数据查询

query_cn.png

开源协议

CloudDM 使用商业友好的 Apache License 2.0 许可协议,详见 LICENSE.txt