在阿里云服务器上安装 MySQL 和 Redis 主要有两种主流方式:
- 使用云原生托管服务(推荐):直接使用阿里云的 RDS(MySQL)和云数据库 Redis 版。
- 手动安装在 ECS 上:在云服务器(ECS)内部自行安装配置。
以下是针对这两种方式的详细操作指南,你可以根据需求选择。
方案一:使用阿里云托管服务(RDS + 云数据库 Redis)
适用场景:生产环境、追求高可用、不想维护底层运维工作、需要自动备份和监控。
这是最稳定且省心的方式,无需登录服务器进行复杂的安装配置。
- 开通服务:
- 登录阿里云控制台,进入 RDS MySQL 页面,点击“创建实例”。
- 进入 云数据库 Redis 页面,点击“创建实例”。
- 配置参数:
- 选择版本(如 MySQL 5.7/8.0, Redis 6.0/7.0)、规格(CPU/内存)、存储类型和所属 VPC。
- 连接应用:
- 创建完成后,在控制台获取内网地址和网络地址(如需公网访问)。
- 将账号密码填入你的应用程序配置文件中即可直接连接。
优点:自带主备高可用、自动备份、故障自动切换、性能监控完善。
缺点:按量付费或包年包月,成本略高于自建(但节省了运维人力成本)。
方案二:手动安装在 ECS 服务器上
适用场景:学习测试、特殊定制需求、预算有限且具备 Linux 运维能力。
假设你的系统为 CentOS 7/8 或 Ubuntu 20.04/22.04。以下以 Ubuntu 20.04 为例(CentOS 命令略有不同,文末附注)。
第一步:更新系统并安装基础工具
sudo apt update && sudo apt upgrade -y
# 安装常用依赖
sudo apt install curl wget gnupg2 software-properties-common -y
第二步:安装 MySQL (以 MySQL 8.0 为例)
-
添加官方 APT 源:
# 下载 MySQL APT 配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb # 注意:安装过程中会弹窗询问版本,选择 MySQL 8.0 -
安装 MySQL Server:
sudo apt update sudo apt install mysql-server -y -
安全加固:
sudo mysql_secure_installation # 按提示操作:设置 root 密码、移除匿名用户、禁止 root 远程登录等 -
检查状态:
systemctl status mysql
第三步:安装 Redis
-
添加 Redis 官方 GPG 密钥和源:
# 安装 apt-transport-https sudo apt install apt-transport-https ca-certificates curl gnupg -y # 添加 Redis 密钥 curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg # 添加源 echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list sudo apt update -
安装 Redis Server:
sudo apt install redis-server -y -
验证运行:
systemctl status redis # 测试连接 redis-cli ping # 应返回 PONG
第四步:配置防火墙(关键步骤)
默认情况下,MySQL (3306) 和 Redis (6379) 端口是禁用的。你需要在阿里云控制台和服务器内部同时开放端口。
-
阿里云控制台设置:
- 进入 ECS 控制台 -> 找到实例 -> 点击“更多” -> “网络和安全组” -> “安全组配置”。
- 添加入方向规则:
- TCP 协议,端口范围
3306,授权对象0.0.0.0/0(仅测试用,生产建议指定 IP)。 - TCP 协议,端口范围
6379,授权对象0.0.0.0/0。 - 强烈建议:生产环境不要对公网开放 6379,Redis 最好只对内网开放,或者绑定特定 IP。
- TCP 协议,端口范围
-
服务器内部防火墙 (UFW):
sudo ufw allow 3306/tcp sudo ufw allow 6379/tcp sudo ufw reload
第五步:优化与安全(生产环境必读)
-
修改 MySQL 绑定地址:
编辑/etc/mysql/mysql.conf.d/mysqld.cnf,确保bind-address = 127.0.0.1(如果不需要外部连接),或者改为0.0.0.0并在阿里云安全组限制 IP。 -
修改 Redis 绑定与密码:
编辑/etc/redis/redis.conf:# 注释掉 bind 127.0.0.1,允许监听所有网卡(如果安全组已控制) # bind 127.0.0.1 # 设置保护模式 protected-mode yes # 设置强密码 (替换 your_strong_password) requirepass your_strong_password重启 Redis:
sudo systemctl restart redis
补充:如果是 CentOS 系统
如果你的服务器是 CentOS,安装命令如下:
- MySQL:
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm sudo yum install -y mysql-community-server sudo systemctl start mysqld sudo systemctl enable mysqld - Redis:
sudo yum install epel-release -y sudo yum install redis -y sudo systemctl start redis sudo systemctl enable redis
总结建议
| 维度 | 阿里云托管 (RDS/Redis) | 手动安装 (ECS) |
|---|---|---|
| 稳定性 | ⭐⭐⭐⭐⭐ (企业级高可用) | ⭐⭐⭐ (依赖人工运维) |
| 安全性 | ⭐⭐⭐⭐⭐ (内置防护) | ⭐⭐⭐ (需自行配置防火墙/补丁) |
| 成本 | 较高 (含服务费) | 较低 (仅服务器费) |
| 灵活性 | 中等 (受限于云产品规格) | 极高 (完全自定义) |
| 适用人群 | 绝大多数生产项目 | 开发者学习、临时测试、特殊定制 |
最终建议:如果是正式业务上线,请直接使用方案一(云托管),虽然多花一点钱,但能避免数据丢失和运维崩溃的风险。如果是个人学习或 Demo 演示,方案二更灵活免费。
CLOUD云枢