分享一个MySQL自动化部署平台
项目简介MySQL 运维管理平台是一款面向数据库管理员与运维工程师的Web 化自动化部署工具。它解决了传统手工安装 MySQL 时步骤繁琐、配置易错、多实例管理困难、主从复制搭建复杂等问题通过可视化的操作界面和智能化的后台编排实现 MySQL 单机多实例、主从复制GTID / 传统 binlog的一键安装与配置。核心功能1. 单机多实例部署支持在同一台物理机或虚拟机上安装多个相互隔离的 MySQL 实例。每个实例拥有独立的端口、数据目录、配置文件/etc/my{port}.cnf、服务脚本/etc/init.d/mysql{port}及 socket 文件。用户可自由指定每个实例的版本、端口、数据目录、缓冲池大小、连接数、server-id 等参数。自定义my.cnf高级选项满足个性化调优需求。2. 主从集群一键搭建支持GTID与传统 binlog 文件位置两种复制模式用户可根据业务需求自由切换。自动为主从服务器生成差异化的server-id避免主从 ID 冲突。从库自动添加replicate_ignore_db、slave_skip_errors等参数有效屏蔽系统库复制及常见错误。内置复制状态检查与重试机制确保集群真正搭建成功。3. 图形化参数配置将my.cnf中的常用参数端口、目录、缓冲池、连接数、binlog 设置等拆解为独立的表单项用户无需记忆语法即可完成配置。保留“自定义 my.cnf”高级模式兼容复杂场景。4. 远程安装与批量管理基于 SSH 协议远程连接目标服务器无需预先在目标机器上安装任何软件。支持密码认证自动上传安装包、解压、初始化、启动及密码设置全流程。任务列表记录每一次安装操作实时输出执行日志方便回溯与排错。5. 多用户登录与安全控制内置简易用户认证体系可扩展至 LDAP确保只有授权人员可执行安装操作。所有操作均记录在案便于审计。技术亮点多实例无冲突设计每个实例的配置文件、服务脚本、socket 均以端口号区分彻底消除资源争用。智能密码处理自动从错误日志中提取临时密码并通过mysqladmin或ALTER USER重置为指定密码全程无需人工干预。健壮的启动检测通过 socket 文件存在性及进程 PID 双重验证避免误报启动失败。跨平台兼容后端基于 Python Flask前端使用 Bootstrap 5可在任何主流操作系统上运行。模块化扩展预留了 MGR、双主Keepalived 等高可用方案的选项卡方便后续功能迭代。适用场景DBA 日常运维快速在测试环境或新服务器上部署指定版本的 MySQL。开发环境构建一条命令即可在本地或远程服务器上拉起多个不同端口的实例用于模拟集群或功能测试。标准化交付通过界面统一 MySQL 参数规范避免因手工配置不一致导致的生产隐患。自动化平台集成提供 REST API 接口可轻松融入已有的 CMDB 或发布流水线。未来规划支持MGRMySQL Group Replication集群一键搭建。支持双主 Keepalived高可用方案。增加实例监控慢查询、连接数、QPS及告警功能。引入备份与恢复管理模块。让 MySQL 部署变得简单而优雅。