AI 搭子
🚀 AIM 开源项目专页 · GitHub 仓库:github.com/aimdotsh/aim
All In MySQL & Auto Install MySQL

极速、隔离、安全的MySQL 自动化安装与集群编排

aim.sh 使用 Oracle 官方通用二进制包,在 Linux 主机上自动化安装相互隔离的 MySQL 实例。 全面支持单机(Standalone)、主从复制(GTID Replica)以及 MySQL 8.0/8.4 单主模式 MGR 集群,并配备现代化 Web 控制台。

Terminal · 一键获取脚本bash
# 下载独立生命周期脚本并赋予执行权限
wget -O aim.sh https://raw.githubusercontent.com/aimdotsh/aim/master/aim.sh
chmod +x aim.sh

# 立即快速单机部署 MySQL 8.4.5
sudo ./aim.sh -v 8.4.5 -p 3306 --role standalone

为什么选择 AIM 方案?

兼顾轻量脚本运维的高效自由,与生产环境企业级安全合规标准。

多拓扑自动化支持

内置单机 (Standalone)、主库 (Source)、从库 (Replica) 以及三节点 MGR (Group Replication) 的完整配置闭环,自适应高版本复制语法。

🛡️

非侵入多实例隔离

不篡改全局 /etc/my.cnf,不修改全局 limits.conf。多实例独立端口、独立目录、独立 systemd 服务,互不影响。

📦

官方通用二进制分发

直接解压 Oracle 官方 Tar 包安装,规避 RPM/DEB 依赖冲突与 musl 系统问题。支持本地离线 media/ 预放安装包,适合无外网隔离内网。

🔒

生产级安全与 SELinux 适配

在启用 SELinux 的 RHEL 系列系统上,脚本自动为自定义数据、日志目录及非默认端口配置持久上下文。凭证绝不明文打进历史记录。

🌐

轻量 Web 部署控制台

Go 单体 + Vue 3 + SQLite 架构。无常驻 Agent,通过 SSH 受限执行器调用,提供主机硬件探测、16 MiB 分块断点上传与图形化编排。

🧹

完整生命周期管理

单个脚本兼顾安装、状态检查、重启重新初始化与无残留安全卸载(支持 --dry-run 预演),运维省心可控。

Compatibility Matrix

MySQL 版本与架构支持矩阵

覆盖主流生产版本,自动适配 5.6/5.7 到 8.0/8.4 的参数变迁与初始化机制。

MySQL 系列x86_64ARM64 (aarch64)i686初始化机制主从复制命令
MySQL 8.4.x LTS✅ 支持✅ 支持官网发布为准mysqld --initialize-insecureCHANGE REPLICATION SOURCE
MySQL 8.0.x✅ 支持✅ 支持✅ 支持mysqld --initialize-insecure8.0.23+ 自动适配新命令
MySQL 5.7.x✅ 支持官方无构建官方无构建>=5.7.6 使用 initializeCHANGE MASTER TO
MySQL 5.6.x✅ 支持官方无构建官方无构建mysql_install_dbCHANGE MASTER TO
* 操作系统支持 RHEL / CentOS / Rocky / AlmaLinux / Oracle Linux、Debian / Ubuntu、SLES / openSUSE 等基于 glibc 的标准 Linux 系统。
Hands-on Guide

常见拓扑部署示例

全部基于标准命令行,支持精确三段版本号与端口传参。

① 单机与 GTID 主从复制快速搭建Bash Command
# 1. 在主机 A (10.0.0.11) 安装并启动主库,自动创建复制账号
sudo ./aim.sh -v 8.0.42 -p 3306 --role source \
--replica-host 10.0.0.12 --repl-password 'YourReplPassword123!' # 2. 在主机 B (10.0.0.12) 安装从库,并自动连接主库开启复制 sudo ./aim.sh -v 8.0.42 -p 3306 --role replica \
--source-host 10.0.0.11 --source-port 3306 \
--source-user aim_repl --source-password 'YourReplPassword123!'
② MySQL 8.0+ 三节点单主模式 MGR 集群Bash Command
# 引导节点 (Node 1 - 10.0.0.10) 初始化集群引导
sudo ./aim.sh -v 8.0.42 -p 3306 --role mgr --server-id 1001 \
--mgr-local-address 10.0.0.10 \
--mgr-seeds '10.0.0.10:33061,10.0.0.11:33061,10.0.0.12:33061' \
--mgr-group-name 'b32b3ad1-031b-4c53-bfd4-1ea75424021a' \
--mgr-allowlist '10.0.0.0/24' --mgr-bootstrap # 其他成员节点 (Node 2 / Node 3) 加入集群 sudo ./aim.sh -v 8.0.42 -p 3306 --role mgr --server-id 1002 \
--mgr-local-address 10.0.0.11 \
--mgr-seeds '10.0.0.10:33061,10.0.0.11:33061,10.0.0.12:33061' \
--mgr-group-name 'b32b3ad1-031b-4c53-bfd4-1ea75424021a' \
--mgr-allowlist '10.0.0.0/24'
Enterprise Ready · 无常驻 Agent

AIM Web 部署控制台

针对不想记忆复杂命令行参数的企业与运维人员,AIM 提供了使用 Go 单体应用 + Vue 3 + SQLite 实现的内网 Web 控制台。

  • 自动探测:登记主机后自动感知 CPU、glibc、IPv4、磁盘、内存与端口冲突。
  • 大包分块上传:以 16 MiB 分块断点上传最大 2 GiB 安装包并严格比对 SHA-256。
  • 可视化编排:网页向导一键部署单机、主库从库以及三节点 MGR。
  • 安全保险箱:AES-256-GCM 加密存储,SSH 指纹防欺骗,本地 RBAC 与全流程审计。
快速通过 Docker Compose 启动控制台
cp .env.sample .env
mkdir -p secrets
openssl rand -base64 32 > secrets/aim_master_key
chmod 600 secrets/aim_master_key
# 依据需要修改 .env 中的初始管理员密码
docker compose up -d --build

# 启动后访问控制台
https://<控制台IP>:8443

立即体验 AIM 自动化部署

欢迎前往 GitHub 参与贡献、提交 PR 或提出 Issue 反馈。