支持 MySQL 企业版/专业版 5.7 / 8.0 / 8.4 / 9.0,四种部署模式,覆盖企业级 HA 场景
生产级 MySQL 安装脚本,支持单机、主从复制、MGR 集群、企业级 HA 四种部署模式。自动识别操作系统、调优内存参数、配置 Systemd 服务,开箱即用。
单条命令完成 MySQL 安装、初始化、服务配置全流程
支持异步和半同步主从复制,自动配置 GTID 和 Binlog
支持 MySQL Group Replication,内置高可用集群部署
兼容 RHEL/CentOS/Rocky/Alma/openEuler/麒麟/UOS/Ubuntu/Debian
支持二进制包、yum、apt 三种安装方式,满足不同场景需求
根据服务器内存自动计算 InnoDB Buffer Pool、连接数等关键参数
默认启用 GTID 模式,支持半同步复制,简化主从切换和故障恢复操作
支持 MHA、Orchestrator、Xenon 等第三方 HA 工具,提供自动故障转移、VIP 漂移、读写分离等企业级功能
覆盖从开发测试到企业级高可用的全部场景
适用于开发测试、小型应用场景。安装单个 MySQL 实例,自动完成初始化和参数调优,快速上手。
适用于读写分离、数据备份场景。支持一主多从,可选异步或半同步复制,基于 GTID 管理。
适用于高可用生产环境。MySQL Group Replication 提供内置的故障自动检测和成员管理,无需外部 HA 工具。
适用于企业级生产环境。支持 MHA、Orchestrator、Xenon 等第三方 HA 工具,提供自动故障转移、VIP 漂移等高级功能。
覆盖国内外主流 Linux 发行版
| 类别 | 操作系统 | 支持版本 |
|---|---|---|
| 企业级 Linux | RHEL | 789 |
| CentOS | 78 | |
| Rocky Linux | 89 | |
| AlmaLinux | 89 | |
| Oracle Linux | 789 | |
| 国产操作系统 | openEuler | 20.0322.03 |
| Kylin (麒麟) | V10 | |
| UOS (统信) | 20 | |
| Debian 系 | Ubuntu | 20.0422.0424.04 |
| Debian | 101112 |
三步完成 MySQL 安装
开通会员后,在页面顶部点击「下载脚本」按钮获取安装包
脚本自动检测系统环境、安装依赖、初始化数据库并启动服务
chmod +x MySQLShellInstall && ./MySQLShellInstall --helpbash MySQLShellInstall --mysql-version 8.0
bash MySQLShellInstall \ --mysql-version 8.0 \ --root-password 'YourPass123!' \ --datadir /data/mysql \ --basedir /usr/local/mysql \ --charset utf8mb4 \ --innodb-buffer-pool-size 4G \ --max-connections 1000 \ --binlog ON \ --binlog-format ROW
bash MySQLShellInstall \ --install-mode replication \ --mysql-version 8.0 \ --root-password 'YourPass123!' \ --master-ip 192.168.1.10 \ --slave-ip 192.168.1.11,192.168.1.12 \ --repl-user repl \ --repl-password 'ReplPass456!'
bash MySQLShellInstall \ --install-mode replication \ --mysql-version 8.4 \ --root-password 'YourPass123!' \ --master-ip 192.168.1.10:3306 \ --slave-ip 192.168.1.10:3307 \ --repl-password 'ReplPass456!'
bash MySQLShellInstall \ --install-mode mgr \ --mysql-version 8.0 \ --root-password 'YourPass123!' \ --mgr-nodes 192.168.1.10,192.168.1.11,192.168.1.12 \ --mgr-password 'MgrPass456!'
bash MySQLShellInstall \ --install-mode mgr \ --mysql-version 8.4 \ --root-password 'YourPass123!' \ --mgr-nodes 192.168.1.10:3306,192.168.1.10:3307,192.168.1.10:3308 \ --mgr-password 'MgrPass456!'
bash MySQLShellInstall \ --install-mode pxc \ --mysql-version 8.0 \ --pxc-nodes 192.168.1.10,192.168.1.11,192.168.1.12 \ --root-password 'YourPass123!' \ --pxc-sst-password 'SstPass456!'
bash MySQLShellInstall \ --install-mode pxc \ --mysql-version 8.0 \ --pxc-nodes 192.168.1.10,192.168.1.11,192.168.1.12 \ --root-password 'YourPass123!' \ --pxc-sst-password 'SstPass456!' \ --pxc-rpm-dir /tmp/pxc_rpms
bash MySQLShellInstall \ --install-mode replication \ --mysql-version 8.0 \ --root-password 'YourPass123!' \ --master-ip 192.168.1.10 \ --slave-ip 192.168.1.11,192.168.1.12 \ --repl-user repl \ --repl-password 'ReplPass456!' \ --ha-tool mha \ --vip 192.168.1.100 \ --mha-manager-ip 192.168.1.1
bash MySQLShellInstall \ --install-mode replication \ --mysql-version 8.0 \ --root-password 'YourPass123!' \ --master-ip 192.168.1.10 \ --slave-ip 192.168.1.11,192.168.1.12 \ --repl-user repl \ --repl-password 'ReplPass456!' \ --ha-tool orchestrator \ --vip 192.168.1.100 \ --orch-port 3001
bash MySQLShellInstall \ --install-mode replication \ --mysql-version 8.0 \ --root-password 'YourPass123!' \ --master-ip 192.168.1.10 \ --slave-ip 192.168.1.11,192.168.1.12 \ --repl-user repl \ --repl-password 'ReplPass456!' \ --ha-tool xenon \ --vip 192.168.1.100
按需配置参数,一键生成安装命令
./MySQLShellInstall脚本支持的所有命令行参数说明
| 参数 | 描述 | 默认值 | 适用模式 |
|---|---|---|---|
| --mysql-version | MySQL 版本 | 8.0 | 单机 |
| --port | 端口 | 3306 | 单机 |
| --datadir | 数据目录 | /var/lib/mysql | 单机 |
| --basedir | 安装目录 | /usr/local/mysql | 单机 |
| --socket | Socket 文件路径 | /var/lib/mysql/mysql.sock | 单机 |
| --root-password | MySQL Root 密码 | — | 单机 |
| --mysql-user | 应用账号 | — | 单机 |
| --mysql-password | 应用账号密码 | — | 单机 |
| --charset | 字符集 | utf8mb4 | 单机 |
| --collation | 排序规则 | utf8mb4_unicode_ci | 单机 |
| --innodb-buffer-pool-size | InnoDB Buffer Pool 大小 | 1G | 单机 |
| --max-connections | 最大连接数 | 500 | 单机 |
| --binlog | 开启 Binlog | ON | 单机 |
| --binlog-format | Binlog 格式 | ROW | 单机 |
| --sql-mode | SQL Mode | — | 单机 |
| --install-method | 安装方式 | binary | 单机 |
| --repo-mode | 软件源模式 | local | 单机 |
| --systemd | 配置 Systemd 服务 | Y | 单机 |
| --firewall | 自动配置防火墙 | Y | 单机 |
| --optimize | 自动内存调优 | Y | 单机 |
| --repl-mode | 复制模式 | semi-sync | 主从 |
| --master-ip | 主库 IP 或 IP:PORT | — | 主从 |
| --slave-ip | 从库 IP 或 IP:PORT | — | 主从 |
| --repl-user | 复制账号 | repl | 主从 |
| --repl-password | 复制账号密码 | — | 主从 |
| --server-id | Server ID | 1 | 主从 |
| --ssh-port | SSH 端口(远程编排) | 22 | 主从 |
| --mgr-mode | MGR 模式 | single-primary | MGR |
| --mgr-nodes | MGR 节点列表(IP 或 IP:PORT) | — | MGR |
| --mgr-port | MGR 通信端口(单机多实例自动派生) | 33061 | MGR |
| --mgr-user | MGR 复制账号 | repl | MGR |
| --mgr-password | MGR 复制账号密码 | — | MGR |
| --router | 安装 MySQL Router | N | MGR |
显示 33 / 33 条参数
以下场景均在物理环境中完成真实安装测试,全部通过验证。测试环境:RHEL 8.10 / Oracle Linux 8.10,ESXi 8C/8GB VM。
| ID | 测试场景 | 模式 | 版本 | 安装方式 | 节点 | 耗时 | 状态 |
|---|---|---|---|---|---|---|---|
| M-1 | 单机 binary 安装 (8.4) | 单机 | 8.4 | binary | 1 | 71s | |
| M-2 | 单机 binary 安装 (5.7) | 单机 | 5.7 | binary | 1 | 76s | |
| M-13 | 单机 yum 安装 (8.4) | 单机 | 8.4 | yum | 1 | 431s | |
| M-14 | 单机 yum 安装 (5.7, EL8 自动回退 binary) | 单机 | 5.7 | yum | 1 | 3935s | |
| M-15 | 单机 binary 安装 (9.0) | 单机 | 9.0 | binary | 1 | 1202s | |
| M-20 | 单机 binary 安装 (8.0) | 单机 | 8.0 | binary | 1 | 1075s | |
| M-24 | 单机 binary + repo-mode local (ISO 本地源) | 单机 | 8.4 | binary | 1 | 1031s | |
| M-8 | 同版本双实例 (3306+3307) | 单机 | 8.4 | binary | 1 | — | |
| M-9 | 跨版本双实例 (8.4:3306 + 5.7:3307) | 单机 | 8.4+5.7 | binary | 1 | — | |
| M-3 | 半同步主从复制 (8.4) | 主从/复制 | 8.4 | binary | 2 | 161s | |
| M-4 | 半同步主从复制 (5.7) | 主从/复制 | 5.7 | binary | 2 | 195s | |
| M-16 | 异步主从复制 (8.4) | 主从/复制 | 8.4 | binary | 2 | 1906s | |
| M-17 | 异步主从复制 (5.7) | 主从/复制 | 5.7 | binary | 2 | 368s | |
| M-19 | yum 安装 + 半同步主从 (8.4) | 主从/复制 | 8.4 | yum | 2 | 768s | |
| M-21 | 一主两从 半同步复制 (8.4) | 主从/复制 | 8.4 | binary | 3 | 348s | |
| M-10 | 单机双实例主从 (3306 主 + 3307 从) | 主从/复制 | 8.4 | binary | 1 | 337s | |
| M-11 | 单机三实例 MGR 单主 (3306+3307+3308) | 集群 | 8.4 | binary | 1 | 239s | |
| M-12 | 单机三实例 MGR 多主 (3306+3307+3308) | 集群 | 8.4 | binary | 1 | 239s | |
| M-5 | MGR 单主模式 三节点 | 集群 | 8.4 | binary | 3 | 235s | |
| M-6 | MGR 多主模式 三节点 | 集群 | 8.4 | binary | 3 | 204s | |
| M-7 | MGR 单主 + MySQL Router 读写分离 | 集群 | 8.4 | binary | 3 | 293s | |
| M-18 | MGR 多主 + MySQL Router 读写分离 | 集群 | 8.4 | binary | 3 | — |
所有测试在 RHEL 8.10 / Oracle Linux 8.10 (x86_64) 环境下执行,详见测试计划文档
生产环境推荐使用二进制安装(binary),版本固定、不依赖系统包管理器,便于管理和迁移。yum/apt 方式更便捷,适合测试环境或对版本要求不严格的场景。
最低要求:2GB 内存、10GB 可用磁盘空间、Bash 4.0 以上版本、root 或具有 sudo 权限的账号。生产环境建议 8GB 以上内存。
不建议。脚本设计用于全新安装,在已有 MySQL 实例的服务器上运行可能导致配置冲突或数据损坏。请在干净的系统上使用,或先完整卸载现有 MySQL。
主从复制是传统的异步/半同步复制方案,配置简单,适合读写分离和数据备份场景,需要手动处理主库故障切换。MGR(Group Replication)是 MySQL 内置的分布式高可用集群,支持自动故障检测和成员管理,适合对可用性要求高的生产环境。
支持。将对应版本的 MySQL 二进制压缩包(.tar.gz)下载后放置在脚本同目录下,脚本会自动识别并跳过在线下载步骤,完成离线安装。
脚本本身不提供版本升级功能。如需升级,建议参考 MySQL 官方文档进行原地升级(in-place upgrade):先备份数据,停止服务,替换二进制包,再执行 mysql_upgrade 完成升级。
同系列 Oracle 数据库一键安装脚本,支持 19c / 21c
达梦 DM8 数据库一键安装脚本,支持国产操作系统
同系列 PostgreSQL 数据库一键安装脚本,支持 13 / 14 / 15 / 16 / 17