My Bulker 是一个现代化的 Web 应用,旨在帮助开发者和数据库管理员轻松管理多个数据库实例,实现批量 SQL 执行。
- 多数据库实例管理:在一个地方连接和管理所有数据库,支持 MySQL。
- 批量 SQL 执行:一次向多个数据库或多个 schema 执行 SQL 查询。
- 历史与结果追溯:保存每次的执行任务历史,方便回溯和审计。
- 配置导入与导出:轻松备份和迁移您的数据库连接配置。
- Web 化界面:通过现代、直观的 Web UI 进行所有操作。
镜像由 CI 在每次推送 v* tag 时自动发布到 GHCR(linux/amd64、linux/arm64):
docker run -d --name my-bulker -p 9092:9092 -v "$(pwd)/data:/app/data" --restart always ghcr.io/slowlyo/my-bulker:latest启动后访问: **http://localhost:9092**。数据保存在当前目录的 data/。
升级:
docker pull ghcr.io/slowlyo/my-bulker:latest && docker rm -f my-bulker然后重新执行上面的启动命令。可用 :1.2.3 这样的版本号固定版本。
-
克隆项目:
git clone https://github.com/slowlyo/my-bulker.git cd my-bulker -
启动服务:
docker-compose up --build -d
这个命令会:
- 在后台构建并启动应用容器。
- 第一次启动时会自动构建前端和后端,可能需要几分钟。
-
访问应用: 构建完成后,打开浏览器访问: http://localhost:9092
-
自定义端口: 如需使用不同端口(例如
8080),请在项目根目录创建一个.env文件,并添加以下内容:APP_PORT=8080 PORT=8080然后重新执行
docker-compose up --build -d。
- 停止服务:
docker-compose down - 查看日志:
docker-compose logs -f
如果您不想使用 Docker,也可以直接从 GitHub Releases 下载预编译的程序。
- 下载: 前往本项目的 GitHub Releases 页面。
- 选择: 根据您的操作系统和CPU架构,下载对应的压缩包(例如
my-bulker-linux-amd64.tar.gz或my-bulker-windows-amd64.zip)。 - 解压: 将下载的压缩包解压到您选择的任意位置。
- 运行:
- Linux/macOS:
# 授予执行权限 chmod +x ./my-bulker # 运行 (可使用 --port 指定端口) ./my-bulker --port=8080
- Windows:
双击
my-bulker.exe运行 (使用默认9092端口)。 或通过命令行指定端口:my-bulker.exe --port=8080
- Linux/macOS:
- 访问应用: 程序启动后,打开浏览器访问: http://localhost:PORT (PORT为您指定的端口, 默认为9092)
数据存储说明:
程序首次运行时,会在可执行文件所在的目录自动创建一个
data文件夹,用于存放所有应用数据(包括app.db数据库文件)。请确保程序对该目录有写入权限。
Release 会额外上传 Wails 桌面包(文件名含 desktop),无需再手动打开浏览器。Web 服务端压缩包仍然保留。
- 下载对应压缩包:
- Windows:
my-bulker-desktop-windows-amd64.zip - macOS:
my-bulker-desktop-darwin-universal.zip(Intel / Apple Silicon) - Linux:
my-bulker-desktop-linux-amd64.tar.gz
- Windows:
- 解压后直接运行:
- Windows:双击
my-bulker-desktop.exe(缺少 WebView2 时会使用内置引导安装) - macOS:打开
my-bulker.app - Linux:运行
./my-bulker-desktop,需已安装libgtk-3-0与libwebkit2gtk-4.1-0
- Windows:双击
- 数据目录:Windows / Linux 绿色包默认写在可执行文件旁的
data/;macOS.app写在~/Library/Application Support/my-bulker/data/。
macOS 应用目前未签名、未公证。若系统拦截,请先在 Finder 中右键 my-bulker.app,选择“打开”;若仍无法打开,请在终端执行:
xattr -dr com.apple.quarantine /path/to/my-bulker.app
chmod +x /path/to/my-bulker.app/Contents/MacOS/*请将 /path/to/my-bulker.app 替换为实际路径。以上操作仅是未签名、未公证期间的权宜之计。
本地打包(需 Wails CLI v2):
go install github.com/wailsapp/wails/v2/cmd/wails@v2.12.0
# Linux 另需: sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev
APP_VERSION=v1.0.0 make build-desktop
# 产物在 build/bin/日常开发仍用 Docker / make dev;桌面构建只用于出包。
在「系统配置 → 版本更新」中可检查 GitHub Releases。稳定版本仅检查最新稳定版;当前版本为 beta 等预发布版本时,会同时比较稳定版和预发布版。
检测到更新后,应用会按桌面版/服务端、操作系统和 CPU 架构推荐对应压缩包并直接下载。没有完全匹配的资产时,界面会列出候选包并提供 GitHub Release 页面入口;应用不会自动覆盖安装。
- 后端: Go, Fiber (高性能 Web 框架)
- 前端: UmiJS, Ant Design Pro, Tailwind CSS
- 桌面: Wails v2(包装现有 Fiber + 前端产物)
- 数据库: GORM (ORM), SQLite (默认元数据存储)
项目已配置 Air 以支持 Go 后端的热重载。
-
安装 Air:
go install github.com/air-verse/air@latest
-
运行 Air: 在项目根目录下直接运行:
air
Air 会根据
.air.toml自动编译并运行后端服务,并在代码修改后自动重新加载。


