当然可以连接阿里云服务器上手动安装的 MySQL。只要满足以下几个条件,就可以成功连接:
✅ 前提条件
-
MySQL 已正确安装并运行
- 你可以通过以下命令检查:
systemctl status mysql # 或者 mysqld,取决于你的安装方式
- 你可以通过以下命令检查:
-
MySQL 允许远程连接(默认只允许本地连接)
- 默认情况下,MySQL 绑定在
127.0.0.1,只允许本地访问。 - 需要修改配置文件(通常是
/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/my.cnf):bind-address = 0.0.0.0 - 保存后重启 MySQL:
systemctl restart mysql
- 默认情况下,MySQL 绑定在
-
创建允许远程登录的用户
- 登录 MySQL:
mysql -u root -p - 创建用户并授权(例如允许从任意 IP 连接):
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%'; FLUSH PRIVILEGES;⚠️ 注意:生产环境建议限制 IP(如
'your_user'@'your_ip'),避免使用'%'带来安全风险。
- 登录 MySQL:
-
阿里云安全组放行端口
- 登录 阿里云控制台
- 找到你的 ECS 实例
- 进入“安全组”配置
- 添加规则,放行 3306 端口(MySQL 默认端口)
- 协议类型:TCP
- 端口范围:3306
- 授权对象:
0.0.0.0/0(测试用)或指定你的 IP
-
服务器防火墙(如有)放行 3306 端口
-
如果你启用了
ufw或firewalld,需要开放端口:# Ubuntu 使用 ufw sudo ufw allow 3306 # CentOS 使用 firewalld sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
-
🧪 测试连接
你可以使用以下方式测试是否能连接:
方法 1:使用客户端工具(如 Navicat、DBeaver)
- 主机:你的阿里云服务器公网 IP
- 端口:3306
- 用户名:你创建的远程用户
- 密码:对应密码
方法 2:使用命令行(从本地连接)
mysql -h <你的服务器公网IP> -P 3306 -u your_user -p
🔐 安全建议
- 不要长期使用
root用户远程登录 - 尽量限制访问 IP(如公司固定 IP)
- 考虑使用 SSH 隧道连接更安全:
ssh -L 3306:localhost:3306 user@your_server_ip然后本地连接
127.0.0.1:3306,通过 SSH 加密隧道访问。
❌ 常见问题排查
| 问题 | 解决方法 |
|---|---|
| 连接超时 | 检查安全组和防火墙是否放行 3306 |
| Access denied | 检查用户权限、密码、是否允许 % 登录 |
| Can't connect to MySQL server | 检查 bind-address 是否为 0.0.0.0 |
✅ 总结:
可以连接,只要配置好 MySQL 远程访问、安全组、防火墙和用户权限即可。
如果你提供具体错误信息,我可以帮你进一步排查。
CLOUD云计算