在阿里云服务器上安装 MySQL 和 Redis,通常有三种主流方案,取决于你的具体需求(是追求快速部署、生产级稳定性,还是完全自定义控制)。
以下是三种方案的详细步骤和建议:
方案一:使用云数据库服务(推荐用于生产环境)
适用场景:生产环境、追求高可用、自动备份、无需运维底层。
优点:阿里云提供 RDS (MySQL) 和 Redis 实例,自带高可用架构、自动备份、监控告警,无需手动维护服务器配置。
操作方式:
- 登录 阿里云控制台。
- 进入 RDS for MySQL 或 Redis 版 产品页面。
- 点击“创建实例”,选择规格(如 2 核 4G)、存储类型和地域。
- 支付后,实例会自动生成内网 IP 和网络访问地址。
- 连接应用:在 ECS 上直接通过内网 IP 连接即可,速度最快且安全。
注意:此方案需要额外付费购买实例,但省去了大量运维成本和安全风险。
方案二:使用 Docker 容器化安装(推荐用于开发/测试/轻量生产)
适用场景:希望快速部署、方便迁移、隔离环境、不想污染系统环境。
前提:ECS 已安装 Docker 和 Docker Compose。
1. 准备 Docker Compose 文件
在项目目录下创建 docker-compose.yml:
version: '3'
services:
# MySQL 服务
mysql:
image: mysql:8.0
container_name: my-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_strong_password # 请修改为强密码
MYSQL_DATABASE: test_db
TZ: Asia/Shanghai
ports:
- "3306:3306"
volumes:
- ./mysql_data:/var/lib/mysql
networks:
- app-network
# Redis 服务
redis:
image: redis:7-alpine
container_name: my-redis
restart: always
command: redis-server --appendonly yes --requirepass your_redis_password # 开启持久化和密码
ports:
- "6379:6379"
volumes:
- ./redis_data:/data
networks:
- app-network
networks:
app-network:
driver: bridge
2. 启动服务
运行以下命令:
docker-compose up -d
方案三:使用 Yum/Apt 源码编译安装(传统方式)
适用场景:需要特定版本的软件、完全控制配置文件、不使用 Docker。
1. 安装 MySQL (以 CentOS 7/8 为例)
阿里云 ECS 默认通常是 CentOS 或 Ubuntu。
-
CentOS:
# 下载 MySQL YUM 仓库 wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm sudo rpm -ivh mysql80-community-release-el8-1.noarch.rpm # 安装 MySQL Server sudo yum install mysql-server -y # 启动并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld # 获取初始 root 密码 sudo grep 'temporary password' /var/log/mysqld.log -
Ubuntu:
sudo apt update sudo apt install mysql-server sudo systemctl start mysql sudo systemctl enable mysql
2. 安装 Redis
-
CentOS:
sudo yum install epel-release -y sudo yum install redis -y sudo systemctl start redis sudo systemctl enable redis -
Ubuntu:
sudo apt update sudo apt install redis-server -y sudo systemctl start redis sudo systemctl enable redis
3. 基础配置与安全加固(重要)
安装完成后,必须修改默认配置:
- 修改密码:
- MySQL: 登录后执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; - Redis: 编辑
/etc/redis.conf,取消注释requirepass 你的密码。
- MySQL: 登录后执行
- 绑定监听地址:
- 默认可能只监听
127.0.0.1。如需远程连接,需修改my.cnf(MySQL) 和redis.conf(Redis),将bind设置为0.0.0.0或具体的内网 IP。
- 默认可能只监听
- 防火墙开放端口:
登录阿里云控制台 -> 云服务器 ECS -> 安全组 -> 配置规则。- 添加入方向规则:
- 协议:TCP,端口:
3306(MySQL) - 协议:TCP,端口:
6379(Redis) - 授权对象:建议仅填写本地 IP 或 应用服务器 IP,切勿直接对
0.0.0.0/0开放,除非你设置了极其复杂的密码且了解风险。
- 协议:TCP,端口:
- 添加入方向规则:
💡 核心安全建议
无论选择哪种方案,请务必注意以下几点:
- 不要暴露公网端口给所有人:
数据库和缓存中间件通常只需要被同一 VPC 内的应用服务器访问。如果必须在公网访问,务必配合白名单(安全组限制特定 IP)和强密码。 - 数据持久化:
- MySQL 的
datadir目录应挂载到云盘(Data Disk)。 - Redis 建议开启 AOF (
appendonly yes) 或 RDB 快照,并将数据目录挂载到独立磁盘。
- MySQL 的
- 定期备份:
- 如果是自建(方案二/三),请编写脚本利用
mysqldump和redis-cli BGSAVE进行定时备份,并上传到 OSS。 - 如果是云数据库(方案一),开启自动备份功能。
- 如果是自建(方案二/三),请编写脚本利用
总结建议:
- 如果是公司正式业务,请直接购买 阿里云 RDS + Redis 实例(方案一),省心且稳定。
- 如果是个人学习、测试或小流量项目,使用 Docker(方案二)是最灵活且易于管理的方式。
CLOUD云计算