在阿里云轻量应用服务器(LightHouse)上配置 MySQL 是一个常见的需求,适用于搭建网站、应用后端等场景。以下是详细的配置步骤,以 Ubuntu 系统 为例(也适用于 CentOS,但命令略有不同):
✅ 一、准备工作
-
登录轻量应用服务器
- 使用 SSH 登录你的轻量服务器:
ssh root@你的服务器公网IP - 默认用户名是
root,密码是你设置的或阿里云生成的。
- 使用 SSH 登录你的轻量服务器:
-
更新系统包
sudo apt update && sudo apt upgrade -y
✅ 二、安装 MySQL
Ubuntu 系统安装 MySQL
sudo apt install mysql-server -y
安装完成后,启动并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
注意:Ubuntu 20.04+ 默认安装的是 MySQL 8.0。
✅ 三、安全初始化(推荐)
运行安全配置脚本:
sudo mysql_secure_installation
根据提示设置:
- 设置 root 密码
- 移除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限
✅ 四、配置远程访问(可选)
默认 MySQL 只允许本地连接。如需从外部连接(如本地程序、Navicat 连接),需做以下配置:
1. 修改 MySQL 配置文件
编辑 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:
sudo mysql -u root -p
创建一个允许远程连接的用户(例如用户名 myuser,密码 mypass123):
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass123';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
⚠️ 注意:
'%'表示允许从任意 IP 连接,生产环境建议限制为特定 IP。
退出 MySQL:
EXIT;
✅ 五、配置阿里云安全组(关键!)
登录 阿里云轻量应用服务器控制台:
- 进入你的实例详情页
- 找到「防火墙」或「安全组」设置
- 添加规则:
- 协议类型:
TCP - 端口:
3306 - 源地址:
0.0.0.0/0(或限制为你的 IP) - 描述:MySQL
- 协议类型:
🔐 生产环境建议只放行可信 IP。
✅ 六、测试连接
使用本地数据库工具(如 Navicat、DBeaver、MySQL Workbench)连接:
- 主机:你的服务器公网 IP
- 端口:3306
- 用户名:
myuser - 密码:
mypass123
✅ 七、(可选)设置开机自启 & 监控
确保 MySQL 开机自启(前面已设置):
sudo systemctl enable mysql
查看状态:
sudo systemctl status mysql
✅ 八、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 连接被拒绝 | 检查 bind-address、防火墙、安全组 |
| 用户权限不足 | 使用 GRANT ALL 并 FLUSH PRIVILEGES |
| MySQL 未运行 | systemctl status mysql 查看日志 |
| 密码错误 | 使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 修改 |
✅ 九、其他系统(CentOS)
如果你使用的是 CentOS 系统,安装命令为:
sudo yum install mysql-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
后续步骤类似。
✅ 总结
你已经成功在阿里云轻量服务器上配置了 MySQL,支持本地和远程访问。记得:
- 定期备份数据
- 避免使用 root 远程连接
- 设置强密码
- 限制安全组访问 IP
如需一键脚本或 Docker 部署方式,也可以告诉我,我可以提供更高级的方案。
ECLOUD博客