云计算百科
云计算领域专业知识百科平台

数据库部署到云服务器ECS怎么操作

将数据库部署到阿里云云服务器 ECS(https://www.aliyun.com/product/ecs)上,通常有两种主要路径:

  • 手动自建数据库(适合学习、高度定制、成本控制):在 ECS 上安装 MySQL/PostgreSQL/MongoDB等。
  • 使用云数据库 RDS(适合生产环境、追求稳定、免运维):直接使用阿里云托管的数据库服务,ECS 仅作为应用服务器。
  • 鉴于您之前关注的是“自建服务器”和“价格”,这里重点介绍 方案一:在 ECS 上手动部署主流数据库(以 MySQL 为例),并简要对比方案二。


    方案一:在 ECS 上手动部署 MySQL 数据库(详细步骤)

    假设您已经购买了一台 Linux 系统(推荐 CentOS 7.x/8.x, Ubuntu 20.04+)。

    第一步:安全组配置(关键!)

    很多新手部署失败是因为防火墙没开。

  • 登录阿里云控制台-> ECS -> 实例列表 -> 找到您的实例 -> 点击“安全组”。
  • 添加入方向规则:
    • 协议类型:MySQL (3306)
    • 授权对象:建议设置为 你的应用服务器IP 或 0.0.0.0/0(如果是公网访问,务必设置强密码并限制 IP,否则极易被黑客攻击)。
    • 优先级:1
  • 第二步:连接 ECS 服务器

    使用 SSH 工具(如 PuTTY, Xshell, 或终端)连接到您的 ECS:

    ssh root@<您的ECS公网IP>

    第三步:安装 MySQL

    以 CentOS 系统为例:

  • 更新 yum 源:

    sudo yum update -y

  • 安装 MySQL 服务端和客户端:

    sudo yum install -y mysql-server mysql

  • 启动 MySQL 服务并设置开机自启:

    sudo systemctl start mysqld
    sudo systemctl enable mysqld

  • (可选)检查状态:

    sudo systemctl status mysqld

  • 以 Ubuntu 系统为例:

    sudo apt update
    sudo apt install mysql-server
    sudo systemctl start mysql
    sudo systemctl enable mysql

    第四步:初始化与安全设置

    MySQL 安装后默认有一个临时密码或空密码,需要重置。

  • 运行安全脚本: sudo mysql_secure_installation
    • 询问是否设置 VALIDATE PASSWORD COMPONENT(密码强度验证插件):选 N(除非你有严格合规要求)。
    • 设置 root 密码:输入一个强密码。
    • 移除匿名用户:选 Y。
    • 禁止远程 root 登录:选 Y(为了安全,root 只允许本地登录,后续创建专用用户远程访问)。
    • 移除 test 数据库:选 Y。
    • 重新加载权限表:选 Y。
  • 第五步:创建数据库和用户(用于应用连接)

    不要直接用 root 连接你的应用程序!创建一个专用用户。

  • 登录 MySQL:

    mysql -u root -p
    # 输入刚才设置的 root 密码

  • 执行 SQL 命令:

    — 创建数据库
    CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    — 创建用户 (example_user) 并设置密码 (StrongPassword123!)
    — 注意:'localhost' 表示只允许本机连接;如果要从其他 ECS 连接,需改为 '%'
    CREATE USER 'myapp_user'@'%' IDENTIFIED BY 'StrongPassword123!';

    — 授予权限
    GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'%';

    — 刷新权限
    FLUSH PRIVILEGES;

    — 退出
    EXIT;

  • 第六步:修改配置文件(允许远程访问)

    默认情况下,MySQL 可能只监听本地回环地址。

  • 编辑配置文件:

    sudo vi /etc/my.cnf
    # 或者 Ubuntu 上是 /etc/mysql/mysql.conf.d/mysqld.cnf

  • 找到 bind-address,将其注释掉或改为 0.0.0.0:

    [mysqld]
    bind-address = 0.0.0.0

  • 重启 MySQL 服务:

    sudo systemctl restart mysqld

  • 第七步:测试连接

    从你的应用服务器(或其他电脑)使用 MySQL 客户端工具(如 Navicat, DBeaver, 或命令行)尝试连接:

    • Host: <ECS公网IP>
    • Port: 3306
    • User: myapp_user
    • Password: StrongPassword123!

    如果连接成功,部署完成!


    ⚠️ 重要注意事项(避坑指南)

  • 数据持久性与备份:

    • ECS 上的数据存在云盘中。务必开启云盘自动快照策略(控制台 -> 云盘 -> 快照策略),防止误删或故障恢复。
    • 定期将数据库导出为 .sql 文件下载到本地或 OSS 存储。
  • 性能瓶颈:

    • 自建数据库与 Web 应用在同一台 ECS 上会竞争 CPU 和内存资源。如果网站流量大,建议将数据库迁移到独立的 ECS 或 RDS。
    • 监控 CPU 和内存使用率,确保磁盘 IO 不成为瓶颈。
  • 安全性:

    • 永远不要暴露 MySQL 端口到公网,除非你明确知道风险并采取防护措施(如 IP 白名单、SSH 隧道)。
    • 使用强密码,并定期更换。
  • 升级与维护:

    • 你需要自己负责 MySQL 的版本升级、补丁修复、主从复制搭建等运维工作,耗时耗力。

  • 方案二:使用阿里云云数据库 RDS(推荐生产环境)

    如果你希望省心、高可用、自动备份,建议使用 RDS for MySQL。

    操作流程:

  • 在阿里云控制台购买 RDS 实例(有按量付费和包年包月)。
  • 创建数据库账号和库。
  • 获取 RDS 的内网地址(Endpoint)。
  • 在你的 ECS 应用中,将数据库连接地址指向 RDS 的内网地址(免费且速度快)。
  • 优点:

    • 自动备份、容灾、监控告警。
    • 无需关心底层维护。
    • 支持弹性扩容。

    缺点:

    • 成本比自建 ECS 数据库高(但低于购买两台高性能 ECS)。

    总结建议

    • 预算有限、学习阶段、小型项目:选择 方案一(ECS 自建 MySQL)。成本低,可控性强。
    • 企业级应用、对稳定性要求高、无专职 DBA:选择 方案二(RDS)。虽然贵一点,但省去了大量运维风险和人力成本。
    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 数据库部署到云服务器ECS怎么操作
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!