数据库

CloudBeaver 一款开源的 Web 数据库管理工具!

在日常的开发工作中,常常需要与各种数据库打交道。而为了提高工作效率,常常会使用一些可视化工具进行操作数据库。

今天,给大家介绍一款开源的数据库管理工具,无需下载安装软件,基于 Web 端进行操作。

项目地址:https://github.com/dbeaver/cloudbeaver

项目介绍


CloudBeaver —— 一个基于 Web 的开源数据库管理工具,允许用户通过浏览器连接和管理各种数据库。

功能特色:

  • 多类型数据库支持:支持连接、管理、操作 MySQL、Oracle、PostgreSQL、ClickHouse 等多种主流数据库
  • 强大的 SQL 编辑器:支持 SQL 脚本提示功能、语法高亮、错误检查、格式化、导入导出等功能
  • 数据操作功能丰富:直观的表格视图,支持数据导入/导出、排序、过滤等操作
  • 可靠的安全性:提供身份验证和授权机制,保护数据安全
  • 界面简洁美观:提供国际化多语言支持,有明亮和暗黑两种主题

 

快速上手


CloudBeaver 支持使用 Docker 进行安装部署,可直接使用 Docker 进行部署。

1、拉取镜像

docker pull dbeaver/cloudbeaver

2、启动容器

docker run --name cloudbeaver -d --rm -ti \ 
	-p 8978:8978 \ 
	-v /data/software/cloudbeaver:/opt/cloudbeaver/workspace \
	dbeaver/cloudbeaver

3、容器启动成功后,浏览器访问:

http://{ip/域名}:8978

4、如果使用 Nginx 进行代理设置,由于 CloudBeaver 使用到 Websocket, 需要同步配置 Websocket, 相关配置可参考如下:

server {
    listen 80;
    server_name _;

    location / {
        proxy_pass http://localhost:8978;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /api/ws {
        proxy_pass http://localhost:8978;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

 

k8s集群实现


cloudbeaver-deployment.yaml

# kubectl apply -f cloudbeaver-deployment.yaml -n common-services
apiVersion: apps/v1
kind: Deployment
metadata:
  name: service-cloudbeaver-deployment  # Deployment 名称
  labels:
    app: service-cloudbeaver
spec:
  replicas: 1  # 运行 1 个容器实例(类似 Docker 的单容器)
  selector:
    matchLabels:
      app: service-cloudbeaver
  template:
    metadata:
      labels:
        app: service-cloudbeaver
    spec:
      containers:
      - name: cloudbeaver  # 容器名称(对应 Docker 的 --name)
        image: dbeaver/cloudbeaver:latest # 使用 latest 标签
        ports:
        - containerPort: 8978  # 容器内的端口(对应 Docker 容器内的 8978)
        volumeMounts:
        - name: cloudbeaver-workspace  # 挂载卷的名称(需与下面的 volumes 对应)
          mountPath: /Users/xxx/Documents/k8s/pv/cloudbeaver  # 容器内的挂载路径(对应 Docker 的 -v 容器内路径)
      volumes:
      - name: cloudbeaver-workspace
        hostPath:
          path: /data/software/cloudbeaver  # 宿主机的路径(对应 Docker 的 -v 宿主机路径)
          type: DirectoryOrCreate  # 若路径不存在则自动创建
kubectl apply -f cloudbeaver-deployment.yaml -n common-services

cloudbeaver-service

# cloudbeaver-service.yaml
# kubectl apply -f cloudbeaver-service.yaml -n common-services
apiVersion: v1
kind: Service
metadata:
  name: cloudbeaver-service
spec:
  selector:
    app: service-cloudbeaver
  ports:
    - protocol: TCP
      port: 8978        # Service 端口
      targetPort: 8978  # 容器端口
      nodePort: 30978   # 节点端口(范围 30000-32767)
  type: NodePort        # 通过节点 IP:端口 访问服务
kubectl apply -f cloudbeaver-service.yaml -n common-services

 

使用


1、首次打开 CloudBeaver 需要配置管理员信息



管理员用户不能用 admin, 密码需要同时包含大小写。

2、配置完成后,点击顶部的 Next, 最后点击 Finsih 就可以开始使用。

3、使用 CloudBeaver 时需要进行登录,用前面配置好的管理员账号直接登录。

4、登录后,切换到 Settings 菜单,修改系统工具语言为简体中文并保存。

5、设置好后,点击左上角的 Logo 回到首页,就可以开始使用 CloudBeaver 了

6、新建数据库连接,点击左上角的新建连接图标,选择数据库类型

7、输入连接地址、用户名、密码、数据库等信息,点击测试连接,如测试通过,即可创建使用

8、数据库连接建好后,就可以开始对数据库进行增删改查操作了

 

工具截图


数据库表视图

表数据视图

SQL 查询器

数据导出

快捷键操作

不同于 Navicat 等工具,CloudBeaver 实现了基于 Web 操作数据库的功能,无需下载安装软件,打开 Web 界面即可操作。可以说,十分方便,而且功能也很强大。快去试试吧~