产品概述
EasyDB 是一款轻量级、完全兼容 MySQL 协议的关系型数据库系统,采用 Go 语言编写。产品实现了完整的 SQL DDL/DML/DCL 语法、MySQL 线协议兼容、主从复制、存储过程、视图、CTE 递归查询等高级特性。
EasyDB 定位于学习研究、嵌入式应用、轻量级服务、开发测试环境等场景。可直接使用 Navicat、DBeaver、MySQL Workbench 等主流 MySQL 客户端工具连接,也可使用 mysql 命令行客户端或 mysqldump 进行备份恢复,实现无缝替换。
技术架构
核心特性
🔌 MySQL 协议兼容
完全兼容 MySQL 线协议,支持握手认证、结果集返回、预编译语句等。可使用 Navicat、DBeaver、MySQL Workbench、mysql CLI 等所有主流 MySQL 客户端直接连接,端口默认 3336。
📝 完整 SQL 语法
支持 DDL(CREATE/ALTER/DROP DATABASE/TABLE/INDEX/VIEW)、DML(SELECT/INSERT/UPDATE/DELETE/REPLACE INTO)、DCL(GRANT/REVOKE/CREATE USER)、事务控制(BEGIN/COMMIT/ROLLBACK/SAVEPOINT)。
🔗 多表 JOIN
实现 Hash Join 算法,时间复杂度 O(m+n),支持多表关联查询。配合 IN 语句哈希查找 O(1)、LIKE 前缀优化等查询优化策略,提升复杂查询性能。
⚡ 数学函数优化
内置高性能数学函数:快速平方根(Quake III Arena 算法)、快速三角函数(泰勒级数近似)、快速对数/指数函数、位运算优化(ABS/FLOOR/CEIL),实现 2-4 倍性能提升。
📊 视图与 CTE
支持视图(VIEW)创建与查询,支持 CTE(Common Table Expression)递归查询,可编写复杂的递归 SQL 查询,处理树形/图结构数据。
🔧 存储过程
支持存储过程定义与执行,内置虚拟机(VM)执行存储过程逻辑。支持变量声明、条件判断、循环控制、参数传递等存储过程特性。
🔄 主从复制
支持 MySQL 风格的主从复制配置:CHANGE MASTER TO / START SLAVE / STOP SLAVE。可实现数据读写分离和高可用架构。
📦 批量操作
支持 BatchInsert、BatchUpdate、BatchDelete 批量操作,减少网络往返和事务开销,大幅提升数据导入/更新/删除的性能。
🔢 丰富函数库
内置 50+ 函数:数学(ABS/FLOOR/CEIL/ROUND/POW/SQRT/SIN/COS/TAN/LOG/EXP)、字符串(CONCAT/UPPER/LOWER/TRIM/REPLACE/REPEAT/REVERSE)、日期(NOW/CURDATE/YEAR/MONTH/DAY)、聚合(COUNT/SUM/AVG/MIN/MAX)。
🔒 安全认证
完整的用户认证与权限系统,支持 GRANT/REVOKE 权限控制,CREATE USER/DROP USER/ALTER USER 用户管理,确保数据库访问安全。
📈 管理语句
支持 SHOW DATABASES/TABLES/COLUMNS/VARIABLES/STATUS,EXPLAIN 查询计划分析,DESCRIBE 表结构查看,方便数据库管理和性能调优。
✅ 195+ 测试验证
完整的测试套件,195/195 测试用例全部通过,覆盖 SQL 语法、数据类型、函数、事务、JOIN、子查询等各个模块,确保功能正确性和稳定性。
快速开始
1. 启动服务器
2. 连接数据库
3. SQL 示例
4. 主从复制
产品对比
| 特性 | EasyDB | MySQL |
|---|---|---|
| 协议 | MySQL 线协议 | MySQL 线协议 |
| 客户端兼容 | Navicat/DBeaver/Workbench | 全生态支持 |
| SQL 语法 | 完整 DDL/DML/DCL | 完整 SQL |
| JOIN | Hash Join O(m+n) | Nested Loop/Hash Join |
| 存储过程 | 支持 | 支持 |
| 视图 | 支持 | 支持 |
| CTE 递归 | 支持 | 支持 (8.0+) |
| 主从复制 | 支持 | 支持 |
| 数学函数优化 | 快速算法 2-4x | 标准实现 |
| 语言 | Go | C/C++ |
| 开源协议 | MIT | GPL |
| 适用场景 | 轻量/嵌入式/学习 | 企业级生产 |
立即下载
选择合适的方式获取 EasyDB
📦 下载V1.1 🐙 GitHub 仓库版本: v1.0.0 | 平台: Windows amd64 | 语言: Go
包含: mysqldb.exe (服务器) + config.ini + 完整文档 + 测试用例