在阿里云轻量应用服务器(Ubuntu系统)上安装 MySQL 的步骤如下。这里以 MySQL 8.0 为例,适用于 Ubuntu 20.04 或 22.04。
✅ 第一步:更新系统软件包
sudo apt update && sudo apt upgrade -y
✅ 第二步:安装 MySQL 服务器
sudo apt install mysql-server -y
这会安装 MySQL 服务端和客户端。
✅ 第三步:启动并设置开机自启
# 启动 MySQL 服务
sudo systemctl start mysql
# 设置开机自启
sudo systemctl enable mysql
检查状态:
sudo systemctl status mysql
看到 active (running) 表示运行正常。
✅ 第四步:运行安全配置向导(推荐)
sudo mysql_secure_installation
这个脚本会引导你完成以下操作:
- 设置 root 用户密码强度验证(可选跳过)
- 设置 root 密码(务必记住!)
- 删除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限表
👉 按提示选择 Y 或 N,一般建议全部选 Y 提高安全性。
✅ 第五步:登录 MySQL 验证安装
sudo mysql -u root -p
输入你设置的密码后进入 MySQL 命令行:
-- 查看当前用户
SELECT user, host FROM mysql.user;
-- 退出
EXIT;
✅ 第六步:(可选)允许远程访问 MySQL
⚠️ 注意:开启远程访问存在安全风险,请确保防火墙和安全组已限制 IP。
1. 修改 MySQL 配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address,将其改为:
bind-address = 0.0.0.0
或注释掉这一行(默认只监听本地)。
保存并退出(Ctrl+O → Enter → Ctrl+X)。
2. 重启 MySQL
sudo systemctl restart mysql
3. 创建可远程登录的用户(在 MySQL 中执行)
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
替换
your_user和your_password为实际用户名密码。
✅ 第七步:配置阿里云安全组
登录 阿里云轻量应用服务器控制台:
- 找到你的实例
- 进入“防火墙”或“安全组”设置
- 添加规则:
- 协议类型:TCP
- 端口范围:
3306 - 源地址:建议填写你的固定 IP(如
123.123.123.123/32),或临时用0.0.0.0/0(不推荐生产环境)
✅ 测试远程连接
使用 Navicat、DBeaver 或命令行从本地连接:
mysql -h <你的服务器公网IP> -u your_user -p
🔒 安全建议
- 不要长期使用 root 远程登录
- 使用强密码
- 定期备份数据
- 只对必要 IP 开放 3306 端口
- 考虑使用 SSH 隧道连接更安全
常见问题排查
| 问题 | 解决方法 |
|---|---|
Can't connect to MySQL server |
检查安全组、防火墙、bind-address、MySQL 用户权限 |
登录报错 Access denied |
检查用户名、密码、host 是否匹配(% vs localhost) |
| MySQL 服务无法启动 | 查看日志 sudo journalctl -u mysql.service |
如有需要,也可以安装 MySQL 8.0 官方 APT 包(最新版):
# 下载并安装 MySQL APT Repository
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
# 在弹出界面选择 MySQL 8.0,然后
sudo apt update
sudo apt install mysql-server
如果你有具体需求(比如只装客户端、安装特定版本、搭配 Nginx/PHP),欢迎继续提问!
轻量云Cloud