在阿里云轻量应用服务器上配置 MySQL 是一个常见的需求,适用于搭建网站、Web 应用或后端服务。以下是详细的图文/命令行教程,帮助你在 阿里云轻量应用服务器(Linux 系统,以 Ubuntu 20.04 为例) 上安装并配置 MySQL。
✅ 一、准备工作
1. 登录轻量应用服务器
- 进入 阿里云轻量应用服务器控制台
- 找到你的实例,点击「连接」或使用 SSH 工具(如 Xshell、Termius、VS Code Remote-SSH)
ssh root@<你的公网IP>
默认用户名通常是
root,密码是你设置的或通过重置获取。
✅ 二、更新系统软件包
sudo apt update && sudo apt upgrade -y
✅ 三、安装 MySQL
1. 安装 MySQL 服务器
sudo apt install mysql-server -y
此命令会自动安装最新稳定版 MySQL(通常为 8.0 版本)
✅ 四、启动并设置开机自启
# 启动 MySQL 服务
sudo systemctl start mysql
# 设置开机自启
sudo systemctl enable mysql
检查状态:
sudo systemctl status mysql
看到 active (running) 表示运行正常。
✅ 五、运行安全初始化配置(推荐)
MySQL 提供了一个安全脚本,用于设置密码策略、删除匿名用户等。
sudo mysql_secure_installation
按提示操作:
-
Validate password component?
输入Y启用密码强度验证(建议开启) -
设置 root 用户密码(务必记牢!)
-
删除匿名用户? →
Y -
禁止 root 远程登录? →
Y -
删除 test 数据库? →
Y -
重新加载权限表? →
Y
✅ 六、登录 MySQL 测试
sudo mysql -u root -p
输入密码后进入 MySQL 命令行:
-- 查看当前用户
SELECT user, host FROM mysql.user;
-- 退出
EXIT;
✅ 七、允许远程访问(可选)
默认情况下,MySQL 只允许本地连接。如果你需要从外部连接(如本地开发工具 Navicat、DBeaver),需做以下配置。
1. 修改 MySQL 配置文件
编辑 MySQL 配置文件(Ubuntu 通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf):
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到这一行:
bind-address = 127.0.0.1
改为:
bind-address = 0.0.0.0
⚠️ 注意:开放 0.0.0.0 存在安全风险,请确保防火墙限制访问 IP。
保存并退出(Ctrl+O → Enter → Ctrl+X)
2. 重启 MySQL
sudo systemctl restart mysql
3. 创建远程访问用户(推荐做法)
不要直接使用 root 远程登录,创建专用用户:
sudo mysql -u root -p
在 MySQL 中执行:
-- 创建用户,允许从任意 IP 连接(也可指定 IP 如 'myuser'@'123.123.123.123')
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword123!';
-- 授予所有权限(生产环境请按需授权)
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
✅ 八、配置阿里云安全组(关键!)
即使你改了 bind-address,阿里云的“安全组”默认阻止外部访问 3306 端口。
操作步骤:
- 进入 轻量应用服务器控制台
- 找到你的实例 → 点击「防火墙」或「安全组」
- 添加规则:
| 字段 | 值 |
|---|---|
| 协议类型 | 自定义 TCP |
| 端口范围 | 3306 |
| 授权对象 | 0.0.0.0/0(不推荐)或你的 IP(如 123.123.123.123/32) |
🔐 建议只允许你的公网 IP 访问,避免被扫描攻击。
✅ 九、测试远程连接
使用 Navicat、DBeaver 或命令行测试:
mysql -h <你的服务器公网IP> -u myuser -p
如果连接成功,说明配置完成!
✅ 十、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 连接超时 | 检查安全组是否放行 3306 端口 |
| Access denied | 检查用户名、密码、host(% vs localhost) |
| Can’t connect to MySQL server | 检查 bind-address 和防火墙 |
| MySQL 服务未启动 | systemctl status mysql 查日志 |
✅ 十一、安全建议
- 不要长期使用 root 远程登录
- 使用强密码
- 定期备份数据库
- 考虑开启 SSL 加密连接
- 关闭不必要的端口暴露
✅ 附加:开启 MySQL 远程连接一键脚本(Ubuntu)
#!/bin/bash
sudo sed -i "s/bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql
echo "MySQL now accepts remote connections. Remember to configure firewall and users."
✅ 完成!你现在已经在阿里云轻量应用服务器上成功部署并配置了 MySQL。
如需搭配 LNMP/LAMP 环境、WordPress、Node.js 后端等,可继续扩展。
需要我提供「宝塔面板 + MySQL」图形化管理方案吗?欢迎继续提问!
秒懂云