数据库

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 界面即可操作。可以说,十分方便,而且功能也很强大。快去试试吧~