纯 Rust 的异步 SQL 工具库,可在编译期校验直接书写的 SQL,支持 PostgreSQL、MySQL/MariaDB 和 SQLite。
go-mysql-org/go-mysql
纯 Go 实现的 MySQL/MariaDB 网络协议库,支持 binlog 复制、客户端、模拟服务端和 database/sql 驱动。
- Star
- 4,974
- Fork
- 1,097
- 未关闭 Issue
- 166
- 最近提交
- 昨天
这是什么?
go-mysql 是一个纯 Go 实现的 MySQL 与 MariaDB 网络协议库,Go 程序可以借此连接 MySQL 服务器,也可以作为从库读取 binlog 流,或者自行实现兼容 MySQL 协议的服务端。
复制(replication)包支持按文件位置或 GTID 处理 binlog 事件,适合用于同步缓存或搜索索引等场景。canal 包在此基础上提供全量导出加增量行变更同步,仓库中还包含一个用 Go 编写、功能类似 mysqldump 的示例命令。
此外,项目还提供带连接池和流式 SELECT 结果的简单客户端、用于构建 MySQL 代理的 server 包,以及一个 database/sql 驱动,支持 TLS、压缩等 DSN 参数配置。
核心功能
- 01支持按文件位置或 GTID 读取 MySQL 与 MariaDB 的 binlog 事件流。
- 02提供 canal 增量同步框架,先全量导出,再应用行级变更。
- 03内置带连接池、支持流式 SELECT 的简单 MySQL 客户端。
- 04提供 server 包,用于构建兼容 MySQL 协议的服务端或代理。
- 05提供 database/sql 驱动,支持 TLS、zlib/zstd 压缩和超时配置。
适用场景
- 通过消费 binlog 变更,把 MySQL 数据同步到 Redis 或 Elasticsearch。
- 用 Go 构建 MySQL 代理,或搭建用于测试的模拟 MySQL 服务。
- 编写类似 mysqldump 的 Go 备份或导出工具。
- 通过标准 database/sql 接口在 Go 代码中访问 MySQL。
快速上手
- 1
在你的 Go 项目中导入库的包
- 2
在项目根目录构建自带的示例应用
make build
收录于专题
标签
常见问题
- go-mysql 是什么?
- 纯 Go 实现的 MySQL/MariaDB 网络协议库,支持 binlog 复制、客户端、模拟服务端和 database/sql 驱动。 go-mysql 是一个纯 Go 实现的 MySQL 与 MariaDB 网络协议库,Go 程序可以借此连接 MySQL 服务器,也可以作为从库读取 binlog 流,或者自行实现兼容 MySQL 协议的服务端。
- go-mysql 可以免费使用吗?用的什么许可证?
- go-mysql 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- go-mysql 还在维护吗?
- 活跃维护中。go-mysql 最近一次提交是在 2026年11月6日。
- go-mysql 适合用来做什么?
- 通过消费 binlog 变更,把 MySQL 数据同步到 Redis 或 Elasticsearch。 用 Go 构建 MySQL 代理,或搭建用于测试的模拟 MySQL 服务。 编写类似 mysqldump 的 Go 备份或导出工具。 通过标准 database/sql 接口在 Go 代码中访问 MySQL。
- go-mysql 怎么安装和运行?
- 在你的 Go 项目中导入库的包 在项目根目录构建自带的示例应用: make build
- 在哪里获取 go-mysql?
- 源代码和安装说明在 GitHub 上:https://github.com/go-mysql-org/go-mysql
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.8万+19 本周1776RustApache-2.0更新于 7天前
阿里云基于 MySQL 8.0.44 的分支,新增 DuckDB 分析引擎、HNSW 向量索引和原生闪回查询。
5992905C++Other更新于 22天前
纯 Python 实现的 MySQL 客户端驱动,兼容 DB API v2.0,并支持 X DevAPI 文档存储。
949302PythonOther更新于 16天前
从 MySQL 分支而来的开源关系型 SQL 数据库,兼容 MySQL,并内置向量搜索与集群能力。
8543+37 本周2266C++GPL-2.0更新于 19小时前
无主节点的分布式 SQLite 复制服务器,任意节点可写入,兼容 MySQL 协议。
2826+4 本周80GoMIT维护活跃更新于 上个月