24884★《dolt:像 Git 一样版本控制的 SQL 数据库》
Dolt 是一个 SQL 数据库,你可以像操作 Git 仓库一样对它进行 fork、clone、branch、merge、push 和 pull。你可以像连接任何 MySQL 数据库一样连接 Dolt 来读取或修改 schema 和数据,同时版本控制功能通过系统表、函数和存储过程在 SQL 中暴露出来。

你也可以使用类 Git 的命令行界面导入 CSV 文件、提交更改、推送到远程仓库,或者合并队友的改动。所有你熟悉的 Git 命令在 Dolt 中的用法完全一致。Git 为文件做版本控制,Dolt 为表做版本控制——就像是 Git 和 MySQL 结合的产物。
Dolt 团队还构建了 DoltHub(用于分享 Dolt 数据库,免费托管公开数据)、DoltLab(自行部署 DoltHub)以及 Hosted Dolt(托管 Dolt 服务)。如果你更偏好 Postgres 而不是 MySQL,还可以尝试目前处于 Beta 阶段的 Doltgres。
主要特点
- 类 Git 的数据版本控制:fork、clone、branch、merge、push、pull 全部支持
- 兼容 MySQL 协议,可用任意 MySQL 客户端(最高 8.4 版本)连接,也可通过内置的
sql-server启动服务 - 版本控制功能在 SQL 中通过系统表、函数和存储过程暴露,无需离开 SQL 即可管理版本
- 类 Git 的命令行工具
dolt,包含init、commit、branch、merge、diff、log、blame等熟悉命令,并额外提供cherry-pick、revert、filter-branch等数据专用功能 - 可导入 CSV 文件、通过
schema和table命令管理表结构与数据的复制、重命名、导出 - 单个约 103 MB 的程序,安装简单,支持 Linux、Mac、Windows、Docker 及源码构建
安装
Linux 或 Mac 系统可通过以下命令安装最新版本:
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'
也可以使用包管理器安装:
# Arch Linux
pacman -S dolt
# Homebrew (Mac)
brew install dolt
# MacPorts
sudo port install dolt
# Chocolatey (Windows)
choco install dolt
Windows 用户也可以在 Releases 页面下载 .msi 安装包。官方提供两个 Docker 镜像:dolthub/dolt(CLI 模式)和 dolthub/dolt-sql-server(服务模式)。
从源码构建需要安装 Go 以及可用的 C 编译器(依赖 cgo):
go install ./cmd/dolt
# 验证构建
~/go/bin/dolt version
快速开始
安装后先配置用户名和邮箱(与 git 完全相同的用法):
dolt config --global --add user.email YOU@DOMAIN.COM
dolt config --global --add user.name "YOUR NAME"
创建一个目录存放数据库,并启动 MySQL 兼容服务器(默认端口 3306):
mkdir ~/dolt
cd ~/dolt
dolt sql-server
在另一个终端中,用内置的 MySQL 兼容客户端连接:
dolt -u root -p "" sql
📊 本项目 GitHub 星标数:24884。项目地址:https://github.com/dolthub/dolt
