# MySQLControl **Repository Path**: soliton/MySQLControl ## Basic Information - **Project Name**: MySQLControl - **Description**: 一个功能完整、界面简洁的 Android MySQL 数据库管理工具,让数据库操作变得更加便捷高效。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2025-08-04 - **Last Updated**: 2025-08-22 ## Categories & Tags **Categories**: dbmanager **Tags**: 安卓MySQL客户端 ## README # MySQL Control 一个功能完整、界面简洁的 Android MySQL 数据库管理工具,让数据库操作变得更加便捷高效。 ## 📱 应用截图 ![MySQL Control](app/src/main/res/drawable/ic_mysql.png) ## ✨ 功能特性 - 🔗 **MySQL 数据库连接管理** - 支持多种连接配置,安全可靠 - 📚 **连接历史记录与快速连接** - 自动保存连接信息,一键快速连接 - 🗂️ **数据库和表结构浏览** - 直观查看数据库结构和表信息 - 🔍 **SQL 查询执行与结果展示** - 强大的 SQL 执行器,结果清晰展示 - 📊 **表数据查看与编辑** - 可视化数据管理,支持增删改查 - 🛠️ **表结构设计与修改** - 图形化表结构设计工具 - 💡 **SQL 语句模板与智能提示** - 内置常用 SQL 模板,提高开发效率 - 🔐 **安全的连接信息加密存储** - 使用 Android Security Crypto 加密存储 ## 🚀 技术栈 - **开发语言**: Kotlin - **UI 框架**: Jetpack Compose - **数据库连接**: MySQL Connector/J 5.1.49 - **加密存储**: AndroidX Security Crypto - **序列化**: Kotlinx Serialization - **架构**: MVVM + Repository Pattern ## 📋 系统要求 - **最低 Android 版本**: Android 8.0 (API 26) - **目标 Android 版本**: Android 15 (API 35) - **编译 SDK**: 35 - **JVM 目标**: Java 11 ## 🛠️ 构建说明 ### 环境要求 - Android Studio Hedgehog | 2023.1.1 或更高版本 - JDK 11 或更高版本 - Android SDK API 35 - Gradle 8.11.1 ### 构建步骤 1. **克隆项目** ```bash git clone https://github.com/your-username/MySQLControl.git cd MySQLControl ``` 2. **打开项目** - 使用 Android Studio 打开项目 - 等待 Gradle 同步完成 3. **配置签名**(可选) - 在 `app/build.gradle` 中配置签名信息 - 或使用 Debug 签名进行测试 4. **构建应用** ```bash ./gradlew assembleDebug ``` 5. **安装到设备** ```bash ./gradlew installDebug ``` ## 📦 依赖库 ```gradle dependencies { // Compose BOM implementation platform('androidx.compose:compose-bom:2024.09.00') // Core Android implementation 'androidx.core:core-ktx:1.10.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1' implementation 'androidx.activity:activity-compose:1.8.0' // Compose UI implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.ui:ui-graphics' implementation 'androidx.compose.ui:ui-tooling-preview' implementation 'androidx.compose.material3:material3' implementation 'androidx.compose.material:material-icons-extended:1.5.4' // Security implementation 'androidx.security:security-crypto:1.1.0-alpha06' // Database implementation 'mysql:mysql-connector-java:5.1.49' // Serialization implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0' } ``` ## 🎯 使用说明 ### 连接数据库 1. 打开应用,在登录界面填写数据库连接信息: - **连接名称**: 自定义连接名称(可选) - **主机地址**: MySQL 服务器地址 - **端口**: MySQL 端口(默认 3306) - **用户名**: 数据库用户名 - **密码**: 数据库密码 2. 点击"保存"按钮测试并保存连接信息 3. 点击"连接"按钮连接到数据库 ### 管理连接历史 - 点击左上角历史图标查看连接历史 - 支持快速连接、加载连接信息、删除历史记录 ### 数据库操作 - **浏览数据库**: 连接成功后自动显示数据库列表 - **查看表结构**: 点击数据库进入表列表,查看表详细信息 - **执行 SQL**: 使用 SQL 查询功能执行自定义查询 - **数据管理**: 查看和编辑表数据 - **结构设计**: 创建和修改表结构 ## 🔧 配置说明 ### 网络权限 应用需要以下权限: ```xml ``` ### ProGuard 配置 如果启用代码混淆,请在 `proguard-rules.pro` 中添加: ```proguard # MySQL Connector -keep class com.mysql.jdbc.** { *; } -dontwarn com.mysql.jdbc.** # Kotlinx Serialization -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.AnnotationsKt ``` ## 🐛 已知问题 - 某些 MySQL 版本可能存在兼容性问题 - 大数据量查询可能导致内存占用过高 - 网络不稳定时连接可能超时 ## 🔄 版本历史 ### v1.0.0 (2024-01-15) - 🎉 首次发布 - ✅ 基础数据库连接功能 - ✅ SQL 查询执行 - ✅ 表结构查看 - ✅ 连接历史管理 - ✅ 数据加密存储 ## 📄 开源协议 本项目采用 MIT 协议 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 👨‍💻 作者信息 - **作者**: 念旧 - **邮箱**: yunwei@xinqiu.wang - **技术交流QQ群**: 727588508 ## 🙏 致谢 感谢以下开源项目: - [Jetpack Compose](https://developer.android.com/jetpack/compose) - 现代化 Android UI 工具包 - [MySQL Connector/J](https://dev.mysql.com/downloads/connector/j/) - MySQL 官方 Java 连接器 - [AndroidX Security](https://developer.android.com/jetpack/androidx/releases/security) - Android 安全加密库 - [Material Design 3](https://m3.material.io/) - Google Material Design 设计系统 ## 📞 支持 如果您在使用过程中遇到问题或有任何建议,欢迎通过以下方式联系: - 📧 发送邮件至: yunwei@xinqiu.wang - 💬 加入QQ群: 727588508 - 🐛 提交 Issue: [Gitee Issues](https://gitee.com/soliton/MySQLControl/issues) --- ⭐ 如果这个项目对您有帮助,请给个 Star 支持一下!