背景
私有化部署场景,经常要访问业务数据库如: MySQL、Postgresql、ClickHouse等,期望通过web可视化形式访问到数据库实例进行数据访问操作;
数据库可视化DMS工具选型
CloudBeaver
支持容器化部署;私有化部署场景使用简单、资源占用小; => 一般私有化部署场景足够
支持
https://github.com/dbeaver/cloudbeaver/tree/devel CloudBeaver github
https://github.com/dbeaver/cloudbeaver/wiki CloudBeaver 文档
https://dbeaver.com/docs/cloudbeaver/Supported-databases/ CloudBeaver支持数据库类型说明SQLPad
维护状态: 已不再更新
https://getsqlpad.com/en/introduction/ SQLPad 已经不再维护bytebase
支持复杂SQL审核
https://github.com/bytebase/bytebase
Docker 部署 CloudBeaver
1.安装环境
1.Docker版本: 19.03.12
2.CloudBeaver: dbeaver/cloudbeaver:24.04
2. CloudBeaver支持数据库类型
支持常用数据库类型: MySQL/MariaDB/ClickHouse/PostgreSQL/Oracle/SQL Server
Elasticsearch/InfluxDB/MongoDB/Neo4j/Redis等
3.Docker 安装 CloudBeaver
##### 3.1 Docker 安装 CloudBeaver
docker run --name cloudbeaver -dti -p 8080:8978 -v /opt/cloudbeaver/workspace --security-opt seccomp=unconfined dbeaver/cloudbeaver:latest
3.2 安装报错
[0.038s][warning][os,thread] Failed to start thread "GC Thread#0" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Cannot create worker GC thread. Out of system resources.
# An error report file with more information is saved as:
# /application/hs_err_pid8.log
问题参考:
https://ojson.com/archives/docker-pthread-create-failed-stacksize
问题原因:
本质上是docker的默认seccomp安全配置造成的,最新版的ubuntu LTS 22.04镜像用到了部分新的函数,而在旧版本docker配置中没有这些函数。
解决方法:
1. 永久解决方法:最新版本docker修复了这个问题,更新最新版本docker即可;
我们Docker版本是 19.03.12 稍低,可以升级
2. 如果没有条件更新docker,则可使用临时解决方案,增加参数`--security-opt seccomp=unconfined`到`docker run`命令后面,表示运行没有默认seccomp配置文件的容器,以允许调用所有函数 => 测试环境可以采用这种方式;生产不推荐-降低安全性
docker run -it -d --name 容器名 --security-opt seccomp=unconfined 镜像名
fix方案: 1.升级Docker版本 2.禁用默认的 Seccomp(安全计算模式)保护[生产不推荐-降低安全性]
3.3 禁用Seccomp安全计算模式 Docker 安装 CloudBeaver
# 禁用Seccomp安全计算模式 Docker 安装 CloudBeaver[生产不推荐-降低安全性]
# 192.168.1.1 为本机ip
docker run -itd --name cloudbeaver --restart always -p 8080:8978 --add-host=host.docker.internal:192.168.1.1 -v /home/admin/data/cloudbeaver/workspace:/opt/cloudbeaver/workspace --security-opt seccomp=unconfined dbeaver/cloudbeaver:latest
安装成功效果
访问 cloudbeaver
配置
使用配置用户名&密码登录
登录成功后效果
调整中文展示
数据库连接模版配置
配置链接数据库
查询数据
参考文档
https://github.com/dbeaver/cloudbeaver/tree/devel CloudBeaver github
https://github.com/dbeaver/cloudbeaver/wiki CloudBeaver 文档
https://dbeaver.com/docs/cloudbeaver/Supported-databases/ CloudBeaver支持数据库类型说明