README
🚀 MySQL查询服务器
MySQL查询服务器是一个基于Python和MySQL数据库构建的应用程序,为用户提供了一套完整的工具和服务,可执行各类MySQL查询操作,如基础查询、元数据检索、数据库信息获取以及表结构高级操作等,极大地满足了数据库操作的多样化需求。
🚀 快速开始
要开始使用MySQL查询服务器,你可以按照以下步骤进行操作:
- 克隆项目仓库到本地。
- 安装依赖项(参见
requirements.txt)。 - 配置环境变量(使用
.env.example作为模板)。 - 启动服务器,使用命令:
python src/server.py
默认运行地址为 http://127.0.0.1:3000/sse
✨ 主要特性
- 高性能:优化了MySQL连接池和查询执行效率,支持高并发访问。
- 安全性:内置SQL拦截器和安全检查机制,防止恶意攻击和未授权操作。
- 可扩展性:模块化设计,方便添加新的查询类型和功能插件。
- 易用性:提供清晰的文档和友好的交互界面,简化数据库操作流程。
📦 安装指南
安装步骤
- 克隆项目仓库到本地。
- 安装依赖项,依赖信息可以在
requirements.txt文件中查看。 - 配置环境变量,使用
.env.example文件作为模板进行配置。 - 启动服务器。
配置要求
- Python版本:3.8及以上
- MySQL Connector:支持的MySQL连接器库
- 环境变量:配置数据库连接信息和安全参数
💻 使用示例
基础用法
在本地环境中,你可以使用以下命令启动服务器:
python src/server.py
服务器启动后,即可通过默认地址 http://127.0.0.1:3000/sse 进行访问。
📚 详细文档
项目结构
.
├── src/ # 源代码目录
│ ├── server.py # 主服务器文件
│ ├── db/ # 数据库相关代码
│ │ └── mysql_operations.py # MySQL操作实现
│ ├── security/ # SQL安全相关代码
│ │ ├── interceptor.py # SQL拦截器
│ │ ├── query_limiter.py # SQL安全检查器
│ │ └── sql_analyzer.py # SQL分析器
│ └── tools/ # 工具类代码
│ ├── mysql_tool.py # 基础查询工具
│ ├── mysql_metadata_tool.py # 元数据查询工具
│ ├── mysql_info_tool.py # 数据库信息查询工具
│ ├── mysql_schema_tool.py # 表结构高级查询工具
│ └── metadata_base_tool.py # 元数据工具基类
├── tests/ # 测试代码目录
├── .env.example # 环境变量示例文件
└── requirements.txt # 项目依赖文件
安全机制
- 风险级别控制:通过
ALLOWED_RISK_LEVELS环境变量限制允许的操作风险级别。 - 敏感信息保护:生产环境下默认隐藏敏感数据,开发环境中可启用
ALLOW_SENSITIVE_INFO以显示敏感信息。
常见问题解决
DELETE操作未执行成功
- 检查DELETE语句是否包含WHERE条件。
- 确保操作的风险级别在允许范围内(如需执行高风险操作,请调整环境变量)。
- 查看影响行数,确认操作是否生效。
环境变量未生效
- 确保
load_dotenv()调用位于其他模块导入之前。 - 重启应用以加载新配置。
日志系统
支持多种日志记录格式和级别,便于调试和监控。默认输出到控制台和文件。
🔧 技术细节
启动命令
python src/server.py
默认运行地址为 http://127.0.0.1:3000/sse
安全机制
风险级别控制
通过ALLOWED_RISK_LEVELS环境变量,可以限制允许的操作风险级别,有效防止高风险操作的执行。
敏感信息保护
在生产环境下,系统默认隐藏敏感数据,以保护数据安全。而在开发环境中,可通过启用ALLOW_SENSITIVE_INFO来显示敏感信息,方便开发调试。
日志系统
支持多种日志记录格式和级别,方便进行调试和监控工作。日志默认输出到控制台和文件,便于开发者随时查看。
📄 许可证
本项目遵循MIT License协议。
版权声明:© [Your Name] 或公司名称。
使用条款:允许自由复制、修改和分发代码,但需保留版权声明。
如需进一步了解,请参考项目文档或联系维护人员。
微信扫一扫