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

在阿里云 ECS 上安装 MySQL 和 Redis 主要有三种方式:官方推荐(云数据库 RDS/Redis)手动安装(Docker 或源码/包管理)、以及使用镜像一键部署

对于生产环境,强烈建议使用阿里云原生的 云数据库 RDS for MySQL云数据库 Redis 版,因为它们提供高可用、自动备份、监控告警和弹性扩容。但如果你需要自己管理数据(例如为了学习、特定配置或成本考量),以下是手动安装的详细步骤。


方案一:手动安装(适用于学习、测试或特定架构需求)

假设你使用的是 CentOS 7/8 或 Ubuntu 20.04/22.04 系统。

1. 前置准备:安全组配置

在服务器内部安装软件前,必须先开放端口,否则无法连接。

  • 登录阿里云控制台 -> 云服务器 ECS -> 实例 -> 安全组
  • 添加入方向规则:
    • MySQL: 端口 3306 (协议 TCP)
    • Redis: 端口 6379 (协议 TCP)
    • 注意:生产环境建议限制来源 IP,不要对所有 IP (0.0.0.0) 开放。

2. 安装 MySQL

以 Ubuntu 为例:

# 更新源
sudo apt update

# 安装 MySQL Server
sudo apt install mysql-server -y

# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql

# 安全初始化(设置 root 密码等)
sudo mysql_secure_installation

以 CentOS 为例:

# 安装 yum-utils
sudo yum install yum-utils -y

# 添加 MySQL YUM 仓库 (根据版本选择)
sudo yum-config-manager --add-repo https://dev.mysql.com/get/mysql80-community-release-el7-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

验证安装:

mysql -u root -p

3. 安装 Redis

以 Ubuntu/CentOS 为例(使用包管理器):

# Ubuntu
sudo apt install redis-server -y
sudo systemctl start redis-server
sudo systemctl enable redis-server

# CentOS (可能需要先安装 EPEL 或手动编译,这里演示简单安装)
sudo yum install epel-release -y
sudo yum install redis -y
sudo systemctl start redis
sudo systemctl enable redis

验证安装:

redis-cli ping
# 输出:PONG 表示成功

4. 关键配置(必须修改)

默认情况下,MySQL 和 Redis 可能只监听本地 (127.0.0.1),或者未设置密码。

MySQL 配置 (/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf):

[mysqld]
# 允许远程连接(生产环境请绑定具体 IP 或内网段)
bind-address = 0.0.0.0 
# 字符集设置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

修改后需重启:sudo systemctl restart mysql

Redis 配置 (/etc/redis/redis.conf):

# 1. 绑定地址(允许外部访问)
bind 0.0.0.0

# 2. 关闭保护模式(如果绑定了 IP 且设置了密码,可保持开启;若仅内网测试可设为 no)
protected-mode no

# 3. 设置密码(非常重要!)
requirepass your_strong_password_here

# 4. 后台运行
daemonize yes

修改后需重启:sudo systemctl restart redis-server


方案二:使用 Docker 安装(推荐用于快速部署)

如果你已经安装了 Docker,这是最干净、隔离性最好的方式。

# 1. 拉取并启动 MySQL
docker run --name my-mysql 
  -e MYSQL_ROOT_PASSWORD=your_root_password 
  -p 3306:3306 
  -v /data/mysql:/var/lib/mysql 
  -d mysql:8.0

# 2. 拉取并启动 Redis
docker run --name my-redis 
  -p 6379:6379 
  -v /data/redis:/data 
  -d redis:alpine 
  redis-server --appendonly yes --requirepass your_redis_password

注意:同样需要在阿里云安全组开放 3306 和 6379 端口。


方案三:使用阿里云镜像(最简单)

阿里云市场提供了一键部署的镜像,包含 Nginx + PHP/Java + MySQL + Redis。

  1. 创建 ECS 时,在“镜像”选择页面搜索 “宝塔”"LNMP/LAMP"
  2. 购买后通过 SSH 登录,按照面板提示即可一键安装所有组件。
  3. 缺点:通常占用较多资源,且不如原生安装灵活,适合新手快速搭建。

⚠️ 重要安全与运维建议

无论采用哪种方式,请务必遵守以下原则:

  1. 禁止公网直接暴露数据库

    • 最佳实践:后端应用和数据库部署在同一 VPC 下。应用通过内网 IP 连接数据库,不要将 3306/6379 端口对公网开放。
    • 如果必须网络访问(如开发调试),务必配合白名单强密码,并尽快关闭。
  2. 数据持久化

    • 如果使用容器或手动安装,务必挂载宿主机目录(如 /data/mysql, /data/redis)到容器内部,防止容器删除导致数据丢失。
    • 配置定时备份脚本(mysqldump, redis-save)。
  3. 性能优化

    • 根据 ECS 的内存大小,合理调整 my.cnf 中的 innodb_buffer_pool_sizeredis.conf 中的 maxmemory
    • 开启 Redis 的 AOF 持久化或 RDB 快照。
  4. 关于云原生产品(RDS/Redis)

    • 如果你的业务涉及核心数据,强烈建议放弃自建,直接使用阿里云 RDS MySQLRedis 版
    • 优势:无需维护主从切换、自动故障转移、自带 DTS 数据迁移、按量付费更灵活,且内网带宽免费。

你需要我针对特定的操作系统(如 CentOS 或 Ubuntu)提供更详细的配置文件示例吗?

未经允许不得转载:云知识CLOUD » 在阿里云ecs服务器安装后端的mysql和Redis?