【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等主流数据库,操作流畅且功能完备。该方案不仅适用于开发测试场景,更能满足企业级数据治理对安全、协同与高可用性的严苛要求,具备显著的实用价值与推广潜力。
- 点赞
- 收藏
- 关注作者
评论(0)