可以。
你完全可以在 ECS(弹性云服务器)或任何通用云服务器上手动安装、配置和管理 MySQL 数据库,无需购买阿里云 RDS(关系型数据库服务)。
✅ 手动部署 MySQL 的优势
- 成本低:无需支付 RDS 的服务费。
- 高度可控:可自定义安装版本、插件、参数、存储引擎等。
- 学习价值高:适合深入理解 MySQL 架构、调优和运维。
⚠️ 需要自行承担的工作
相比 RDS,你需要自己负责以下所有方面:
| 项目 | 说明 |
|---|---|
| 安装与配置 | 手动下载、编译或包管理器安装 MySQL,配置 my.cnf |
| 安全加固 | 设置强密码、限制远程访问、关闭多余端口、定期更新补丁 |
| 备份与恢复 | 自行编写脚本或使用 mysqldump/xtrabackup 实现定时备份 |
| 高可用架构 | 如需主从复制、读写分离、故障切换,需自行搭建和维护 |
| 监控与告警 | 自行部署 Prometheus + Grafana 或其他监控方案 |
| 性能调优 | 根据业务负载调整 buffer pool、连接数、索引策略等 |
| 升级与维护 | 手动执行版本升级、停机维护等操作 |
🛠️ 简要步骤示例(以 CentOS 为例)
# 1. 安装 MySQL(以 MySQL 8.0 为例)
sudo yum install -y mysql-server
# 2. 启动并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 3. 获取临时密码并修改 root 密码
sudo grep 'temporary password' /var/log/mysqld.log
mysql -u root -p # 输入临时密码后执行 ALTER USER ...
# 4. 配置防火墙允许 3306 端口(如需要远程访问)
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
# 5. 创建数据库和用户
mysql -u root -p <<EOF
CREATE DATABASE mydb;
CREATE USER 'appuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mydb.* TO 'appuser'@'%';
FLUSH PRIVILEGES;
EOF
🔒 生产环境建议:
- 不要直接暴露 3306 到公网,通过 SSH 隧道或 VPC 内网访问。
- 使用配置文件
/etc/my.cnf优化关键参数。- 配置自动备份脚本(如结合 crontab + xtrabackup)。
📌 何时选择手动部署 vs RDS?
| 场景 | 推荐方式 |
|---|---|
| 学习、测试、小规模项目 | ✅ 手动部署更经济灵活 |
| 生产环境、对可用性要求高 | ✅ RDS 更省心(自动备份、高可用、监控) |
| 团队缺乏 DBA 运维能力 | ✅ RDS 降低运维风险 |
| 需要精细控制底层配置 | ✅ 手动部署更适合 |
💡 总结
完全可以不购买 RDS,在 ECS 上自建 MySQL。但这意味着你要承担全部运维责任。如果是个人项目、开发测试或小型应用,手动部署是可行且常见的做法;如果是企业级生产环境,建议评估是否值得投入人力去维护自建数据库,或考虑托管式服务(如 RDS、AWS RDS 等)以降低风险。
轻量云Cloud