阿里轻量应用服务器如何部署mysql?

在阿里云轻量应用服务器(Simple Application Server, SAS)上部署 MySQL,主要有两种推荐方式:使用镜像一键部署(最简单、适合新手)和 手动安装配置(适合需要自定义版本或深度定制的场景)。

以下是具体的操作步骤:


方法一:使用“数据库”镜像一键部署(推荐)

这是最快的方式,阿里云官方提供了预装好 MySQL 的镜像,系统会自动完成环境配置。

  1. 创建实例时选择镜像

    • 登录阿里云控制台,进入【轻量应用服务器】页面。
    • 点击“创建实例”。
    • 镜像选择环节,不要选默认的“公共镜像”,而是切换到应用镜像标签页。
    • 在左侧分类中选择 “数据库”,然后找到 "MySQL" 相关的镜像(如 MySQL 8.0MySQL 5.7)。
    • 点击该镜像进行创建。
  2. 设置密码与配置

    • 在创建向导中,你需要设置 root 用户密码(请务必记牢,后续连接必须用到)。
    • 根据需求选择实例规格(CPU/内存/带宽),注意:轻量服务器的内存通常较小(如 2G/4G),如果数据量大,建议适当增加内存以避免 OOM(内存溢出)。
  3. 验证部署

    • 实例创建完成后,进入实例详情页。
    • 点击顶部的 “远程连接” -> “终端”
    • 输入命令 mysql -u root -p,输入刚才设置的密码。
    • 如果能成功进入 mysql> 提示符,说明部署成功。

优点:无需手动安装依赖,自动配置防火墙规则,开箱即用。
缺点:无法在安装过程中选择非常特殊的版本组合,且默认配置可能不是最优化的生产环境配置。


方法二:手动安装 MySQL(灵活度高)

如果你已经创建了 Linux 实例(如 Ubuntu 或 CentOS),或者需要特定版本的 MySQL,可以使用此方法。

1. 更新系统并安装依赖

Ubuntu 22.04 为例(CentOS 命令略有不同,见下文备注):

sudo apt update
sudo apt upgrade -y
sudo apt install mysql-server -y

如果是 CentOS 7/8,需先安装 EPEL 源或使用 yum/dnf 安装:

# CentOS 示例
sudo yum install mysql-server -y
# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld

2. 安全初始化

安装后,MySQL 初始状态可能未开启安全选项。运行安全脚本:

sudo mysql_secure_installation

按提示操作:

  • 询问是否启用 VALIDATE PASSWORD COMPONENT?(选 N)
  • 设置 root 密码。
  • 移除匿名用户、禁止 root 远程登录、删除测试数据库等(全部选 Y)。

3. 配置允许远程连接(关键步骤)

默认情况下,MySQL 只允许本地访问。如果你需要从外部(如你的电脑上的 Navicat/DBeaver)连接,需执行以下操作:

  1. 登录 MySQL:

    sudo mysql -u root -p
  2. 修改 root 用户允许从任何 IP 连接(或者指定具体 IP):

    -- 进入 mysql 命令行后执行
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
    FLUSH PRIVILEGES;
    
    -- 如果需要允许所有 IP 连接(注意安全风险,生产环境建议限制 IP)
    CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的新密码';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES;

    注:MySQL 8.0+ 默认认证插件是 caching_sha2_password,某些旧版客户端可能不支持,上述 mysql_native_password 兼容性更好。

  3. 退出 MySQL:

    exit;

4. 配置防火墙与安全组

这是最容易出错的一步,必须放行 3306 端口。

  • 阿里云控制台(安全组)

    1. 进入轻量应用服务器详情页 -> 网络 -> 安全组
    2. 点击“配置规则” -> “添加入方向规则”。
    3. 协议类型:TCP,端口范围:3306,授权对象:0.0.0.0/0(生产环境建议填你公司的公网 IP 或特定 IP 段)。
    4. 保存规则。
  • 服务器内部防火墙(可选但推荐)

    • Ubuntu: sudo ufw allow 3306/tcp
    • CentOS: sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent && sudo firewall-cmd --reload

⚠️ 重要注意事项

  1. 公网直连风险
    将 MySQL 直接暴露在公网(0.0.0.0/0)存在极大的安全风险(容易被爆破)。

    • 最佳实践:仅允许你个人的办公 IP 访问,或者通过 SSH 隧道 连接。
    • SSH 隧道连接法:在本地终端使用 ssh -L 3306:localhost:3306 root@<服务器IP> 建立隧道,然后在本地连接 localhost:3306,这样不需要开放 3306 端口到公网。
  2. 资源限制
    轻量应用服务器的内存通常有限(如 2GB)。如果数据库较大,建议在 /etc/mysql/mysql.conf.d/mysqld.cnf (Ubuntu) 或 /etc/my.cnf (CentOS) 中调整 innodb_buffer_pool_size(建议设置为物理内存的 50%-70%),防止频繁 Swap 导致性能下降。

  3. 备份
    轻量应用服务器本身没有内置自动快照外的数据库备份策略。建议定期使用 mysqldump 导出 SQL 文件,并上传到 OSS 存储桶,以防数据丢失。

总结

  • 新手/快速搭建:直接选 MySQL 应用镜像 创建实例。
  • 老手/定制需求:手动安装 + 安全组配置 + SSH 隧道连接。
未经允许不得转载:CLOUD云枢 » 阿里轻量应用服务器如何部署mysql?