在阿里云ecs服务器安装后端的mysql和Redis?

在阿里云 ECS 上安装 MySQL 和 Redis 作为后端数据库,通常有两种主流方案:

  1. 使用阿里云托管服务(推荐):直接使用 RDS for MySQL 和云数据库 Redis 版。
  2. 自行在 ECS 上安装:将数据库安装在 ECS 操作系统内部。

以下是针对这两种方案的详细操作指南,重点介绍自行安装的流程(因为你的问题明确提到“在 ECS 服务器安装”),同时也会简要说明为何推荐托管服务。


方案一:在 ECS 上自行安装(适合学习、测试或特定架构需求)

此方案需要你在 ECS 的 Linux 系统(以 CentOS/Alibaba Cloud Linux 为例)中通过命令行进行安装和配置。

1. 前置准备

  • 安全组配置:登录阿里云控制台 -> 云服务器 ECS -> 实例详情 -> 安全组。
    • 确保放行了 3306 (MySQL) 和 6379 (Redis) 端口。
    • 注意:如果是生产环境,建议仅允许应用服务器的 IP 访问这两个端口,不要对 0.0.0.0/0 开放,以防被扫描攻击。
  • 连接服务器:使用 SSH 工具(如 Xshell, Putty, Terminal)登录 ECS。

2. 安装 MySQL

这里以 CentOS 7/8Alibaba Cloud Linux 为例,使用官方 YUM 源安装。

# 1. 更新系统包
sudo yum update -y

# 2. 安装 MySQL 5.7 或 8.0 (此处以 8.0 为例)
# 如果不确定源是否包含 mysql,可能需要先添加 epel 源或下载 rpm 包
# 推荐使用阿里云提供的镜像源或官方 repo
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql80-community
sudo yum install -y mysql-community-server

# 3. 启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld

# 4. 获取初始 root 密码
# MySQL 安装后会在 /var/log/mysqld.log 生成一个随机密码
grep 'temporary password' /var/log/mysqld.log

# 5. 进入 MySQL 修改 root 密码并授权远程访问
mysql -u root -p
# (输入上面获取的临时密码)

# 在 MySQL 命令行中执行以下 SQL:
# 修改 root 密码 (需满足复杂度要求)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码';

# 创建允许远程连接的账号 (例如 app_user)
CREATE USER 'app_user'@'%' IDENTIFIED BY '你的应用数据库密码';
GRANT ALL PRIVILEGES ON *.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

# 退出
EXIT;

3. 安装 Redis

Redis 通常需要编译安装或使用 EPEL 源安装。为了简化,我们使用 EPEL 源安装稳定版。

# 1. 安装 EPEL 源
sudo yum install -y epel-release

# 2. 安装 Redis
sudo yum install -y redis

# 3. 启动并设置开机自启
sudo systemctl start redis
sudo systemctl enable redis

# 4. 配置 Redis 允许远程连接
# 编辑配置文件
sudo vi /etc/redis.conf

# 找到并修改以下参数:
# bind 127.0.0.1  -> 改为 bind 0.0.0.0 (或者注释掉该行)
# protected-mode yes -> 改为 no (如果已做防火墙限制,可设为 no)
# requirepass '' -> 改为 requirepass 你的强密码 (例如 redis123456)

# 保存退出后重启 Redis
sudo systemctl restart redis

4. 验证安装

  • MySQL: telnet <ECS公网IP> 3306
  • Redis: telnet <ECS公网IP> 6379 或在本地用客户端连接测试。

方案二:使用阿里云托管服务(强烈推荐用于生产环境)

如果你的业务是正式上线运行的,强烈不建议自己在 ECS 上手动安装数据库。原因如下:

  • 高可用:托管服务默认提供主备切换、自动备份。
  • 性能:独享资源,IOPS 更高。
  • 运维:无需自己处理补丁升级、监控告警、扩容缩容。
  • 网络:内网互通,延迟极低且安全。

操作步骤:

  1. 购买实例
    • 在阿里云控制台搜索 RDS MySQL
    • 选择版本(如 MySQL 8.0)、规格、存储类型(SSD)。
    • 选择与 ECS 同一地域、同一 VPC
  2. 购买 Redis
    • 搜索 云数据库 Redis 版
    • 选择架构(如主从版或集群版)。
  3. 配置白名单
    • 在 RDS/Redis 控制台的“白名单”中,添加你 ECS 实例的 私有 IP(VPC 内网 IP)。
    • 这样 ECS 可以通过内网地址(如 rm-xxx.mysql.rds.aliyuncs.com 或内网 IP)直接连接,速度快且安全。
  4. 应用连接
    • 在你的后端代码中,将数据库连接地址替换为 RDS/Redis 提供的内网地址。

总结与建议

特性 自行安装 (ECS 内) 阿里云托管 (RDS/Redis)
适用场景 学习、开发测试、临时项目 生产环境、企业级应用
维护成本 高 (需自己备份、打补丁、监控) 低 (阿里云自动维护)
数据安全 依赖个人配置,易误操作丢失 自动快照、多可用区容灾
网络性能 占用 ECS 资源,受限于单机带宽 独享带宽,内网高速
费用 仅需 ECS 费用 额外支付数据库实例费用

最终建议

  • 如果你是在学习 Linux 命令或搭建个人测试环境,请按照方案一操作。
  • 如果你是为了上线运行商业项目,请直接购买阿里云的 RDS MySQL云数据库 Redis 版,并在 ECS 的安全组中只放行 VPC 内网段,这是最稳妥、最高效的方式。
未经允许不得转载:CLOUD技术博 » 在阿里云ecs服务器安装后端的mysql和Redis?