# ruge-ai-java-mysql **Repository Path**: ruge-ai/ruge-ai-java-mysql ## Basic Information - **Project Name**: ruge-ai-java-mysql - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-11 - **Last Updated**: 2026-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ruge-ai-java-mysql # 日韩mysql ## 简介 ruge-ai-java-mysql 是一个使用 Java 语言实现的 MySQL 兼容数据库管理系统。该项目的目标是创建一个功能完整的 SQL 数据库引擎,支持 InnoDB 兼容存储引擎、事务处理、并发控制、B+树索引等核心数据库功能。 ## 软件架构 ### 技术栈 - **编程语言**: Java 17 - **构建工具**: Maven - **日志框架**: Logback - **测试框架**: JUnit 5 + jqwik ### 核心模块 项目采用模块化设计,包含以下核心组件: 1. **SQL解析器模块** - SQL语句解析与AST构建 2. **存储引擎模块** - 数据持久化存储,支持可插拔架构 3. **缓冲池模块** - 内存缓存管理,采用LRU算法 4. **B+树索引模块** - 索引结构实现 5. **查询优化器模块** - 执行计划生成与成本优化 6. **执行引擎模块** - 火山模型执行引擎 7. **事务管理模块** - 事务支持与MVCC实现 8. **并发控制模块** - 锁机制与死锁检测 9. **日志系统模块** - Redo Log、Undo Log、Binlog 10. **数据库目录模块** - INFORMATION_SCHEMA实现 11. **数据类型模块** - SQL数据类型支持 12. **SQL函数模块** - 内置函数实现 13. **约束模块** - 完整性约束验证 14. **视图模块** - 视图支持 15. **存储过程和函数模块** - stored procedure支持 16. **触发器模块** - 触发器实现 17. **用户权限管理模块** - 权限控制 18. **客户端连接管理模块** - 连接管理与MySQL协议 ## 安装教程 ### 环境要求 - JDK 17 或更高版本 - Maven 3.6+ ### 构建项目 ```bash # 克隆项目 git clone https://gitee.com/ruge-ai/ruge-ai-java-mysql.git # 进入项目目录 cd ruge-ai-java-mysql # 编译项目 mvn clean compile # 运行测试 mvn test ``` ### 启动数据库 ```bash mvn exec:java -Dexec.mainClass="com.ruge.db.RugeDbMain" ``` ## 使用说明 ### 连接数据库 项目支持 MySQL 协议兼容的客户端连接。您可以使用任何 MySQL 客户端工具连接: ```bash mysql -h localhost -P 3306 -u root -p ``` ### 基本操作 ```sql -- 创建数据库 CREATE DATABASE test_db; -- 使用数据库 USE test_db; -- 创建表 CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, email VARCHAR(100) ); -- 插入数据 INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com'); -- 查询数据 SELECT * FROM users; -- 更新数据 UPDATE users SET email = 'newemail@example.com' WHERE id = 1; -- 删除数据 DELETE FROM users WHERE id = 1; ``` ### 事务操作 ```sql -- 开启事务 START TRANSACTION; -- 执行操作 INSERT INTO users (name, email) VALUES ('李四', 'lisi@example.com'); -- 提交事务 COMMIT; -- 或者回滚事务 ROLLBACK; ``` ## 配置说明 项目配置文件位于 `src/main/resources/logback.xml`,可根据需要进行日志级别调整。 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目仅供学习研究使用。 ## 了解更多 - [设计文档](./.kiro/specs/ruge-ai-java-mysql/design.md) - [需求文档](./.kiro/specs/ruge-ai-java-mysql/requirements.md) - [实现计划](./.kiro/specs/ruge-ai-java-mysql/tasks.md)