【Docker项目实战】使用Docker部署SQLynx数据库管理工具

举报
江湖有缘 发表于 2025/09/28 00:32:20 2025/09/28
【摘要】 【Docker项目实战】使用Docker部署SQLynx数据库管理工具

一、SQLynx介绍

1.1 SQLynx简介

SQLynx 是一款现代化的 企业级数据库管理平台,专为开发者、DBA、数据分析师和企业团队设计,提供高效、安全、协作的数据库操作体验。它支持多种主流 SQL 数据库,采用直观的界面和强大的功能,帮助用户轻松完成数据库开发、管理、审计和协作任务。

1.2 SQLynx核心特点

特性 说明
多数据库支持 支持 MySQL、MariaDB、PostgreSQL、SQLite、ClickHouse 等主流 SQL 数据库
原生 Web 架构 团队版和企业版为 纯 Web 应用,无需安装客户端,浏览器即用
企业级安全 支持 HTTPS、LDAP/AD 集成、细粒度权限控制、操作审计
协同操作 多人协作、审批流程、角色管理,适合团队开发
内部部署(On-Premise) 企业版支持私有化部署,保障数据安全与合规
高可用架构 企业版支持集群部署、负载均衡、故障转移

1.3 SQLynx 三个版本对比

功能模块 个人版 团队版 企业版
部署方式 桌面应用(Windows/macOS/Linux) 原生 Web(可私有化部署) 原生 Web(支持私有化部署 + 高可用集群)
用户规模 单用户 ≤ 100 用户 高达 1,000,000 用户
访问方式 安装本地客户端 浏览器访问(Web) 浏览器访问(Web)
核心功能 ✅ SQL 查询、表管理、数据导入导出、SQL 执行、DDL 比较、样本数据生成等 ✅ 包含个人版所有功能 ✅ 包含团队版所有功能
团队协作 ❌ 不支持 ✅ 支持多人协作、项目共享 ✅ 支持大规模团队协作
用户管理 ✅ 用户创建、禁用、角色分配 ✅ 支持 LDAP/AD 集成、SSO
角色与权限 ✅ 自定义角色、数据库权限控制 ✅ 更细粒度权限策略(行级/列级)
操作审计 ✅ 记录用户操作日志(谁、何时、执行了什么 SQL) ✅ 完整审计日志,支持合规审查
审批流程 ✅ SQL 执行审批、变更审批(如 DDL)
风险管理 ✅ 敏感数据识别、SQL 风险检测(如全表删除)
规则管理 ✅ 自定义安全规则(如禁止 DROP TABLE
高可用部署 ✅ 支持主从、集群、负载均衡、自动故障转移
数据传输 ✅ 支持跨数据库迁移 ✅ 支持 ✅ 支持,带监控和调度
样本数据生成
SQL 文件执行
表 DDL 比较与备份
适用场景 个人开发、学习、小型项目 中小型团队、部门级使用 大型企业、金融、政府、高安全要求场景

注意
各版本具体功能以官方发布为准,功能范围及权限策略可能随版本迭代调整,建议参考 SQLynx 官方文档获取最新信息。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname IP地址 操作系统版本 Docker版本 部署项目 备注
jeven 192.168.3.88 Ubuntu 24.04.2 LTS 28.3.3 SQLynx 部署版本3.7.0

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署SQLynx数据库管理工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Thu 2025-09-18 21:50:05 CST; 3 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 858 (dockerd)
      Tasks: 30
     Memory: 5.2G (peak: 5.4G)
        CPU: 11min 54.268s
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

四、拉取SQLynx镜像

下载SQLynx容器镜像,如下所示:

docker pull registry.cn-hangzhou.aliyuncs.com/sql_studio/sqlynx:3.7.0

在这里插入图片描述

五、部署SQLynx服务

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/sqlynx/{data,log} &&  cd  /data/sqlynx
  • 设置目录权限
chmod -R 777  /data/sqlynx

5.2 编辑部署文件

使用docker-cli方式部署,可参考以下命令:

docker run -d \
   --restart always \
   --name sqlynx \
   -p 18888:18888/tcp \
   -v /data/sqlynx/log:/apps/usr/sqlstudio/linux/log \
   -v /data/sqlynx/data:/apps/usr/sqlstudio/linux/data \
   registry.cn-hangzhou.aliyuncs.com/sql_studio/sqlynx:3.7.0

在部署目录下,创建docker-compose.yaml文件,内容如下所示:

vim docker-compose.yaml
version: '3'

services:
  sqlynx:
    image: registry.cn-hangzhou.aliyuncs.com/sql_studio/sqlynx:3.7.0
    container_name: sqlynx
    restart: always
    ports:
      - "18888:18888"
    volumes:
      - /data/sqlynx/log:/apps/usr/sqlstudio/linux/log
      - /data/sqlynx/data:/apps/usr/sqlstudio/linux/data




5.3 创建SQLynx容器

执行以下命令,创建SQLynx容器。

docker compose up -d

在这里插入图片描述

5.4 查看SQLynx容器状态

检查SQLynx容器运行状态,确保SQLynx容器正常启动。

root@jeven:/data/sqlynx# docker compose ps
WARN[0000] /data/sqlynx/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME      IMAGE                                                       COMMAND                   SERVICE   CREATED         STATUS         PORTS
sqlynx    registry.cn-hangzhou.aliyuncs.com/sql_studio/sqlynx:3.7.0   "/bin/bash /apps/sql…"   sqlynx    8 minutes ago   Up 8 minutes   0.0.0.0:18888->18888/tcp, [::]:18888->18888/tcp

5.5 检查SQLynx容器日志

检查容器运行日志,确保SQLynx服务正常运行。

docker compose logs

在这里插入图片描述

六、访问SQLynx服务

6.1 访问SQLynx登录页

浏览器地址: http://<个人的服务器IP>:18888,访问SQLynx首页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

6.2 登录SQLynx

默认用户名为admin,密码自行填写,后续在系统设置中修改密码即可。

在这里插入图片描述

在这里插入图片描述

七、基本操作

7.1 添加数据源

点击数据源模块,新增数据源类型为MySQL。

在这里插入图片描述

填写数据库服务相关信息:包括业务系统名称、数据库地址、服务端口号、账号密码登信息。

在这里插入图片描述

SSH设置:当数据库位于内网环境而Web服务器具有公网IP时,可通过勾选SSH隧道选项,在SQLynx与Web服务器之间建立一条加密通信通道。该通道可将Web服务器的指定端口数据转发至目标数据库端口,从而安全地实现远程数据库访问与数据传输。

在这里插入图片描述

7.2 查询数据

添加数据源完成后,我们刷新数据源列表,可以看到已经成功连接上数据库,可以对数据库进行查询等操作。

在这里插入图片描述

7.3 运维管理

在运维管理模块中,我们看到会话管理,如下所示:

在这里插入图片描述

在这里插入图片描述

八、总结

本次实践通过Docker成功部署SQLynx,验证了其在容器化环境中的高效性与稳定性,显著简化了数据库管理工具的部署流程。借助Docker Compose实现一键式编排,配置清晰、维护便捷,有效降低了多环境部署的复杂度。SQLynx的Web界面提供直观的多数据库管理能力,支持MySQL、PostgreSQL等主流数据库,操作流畅且功能完备。该方案不仅适用于开发测试场景,更能满足企业级数据治理对安全、协同与高可用性的严苛要求,具备显著的实用价值与推广潜力。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。