奋斗
努力

可以连接阿里云服务器手动安装的mysql吗?

云计算

是的,可以连接阿里云服务器上手动安装的 MySQL。只要配置正确,无论是通过官方源码编译安装、Yum/Apt 安装,还是其他方式手动部署的 MySQL,都可以远程连接。

但需要注意以下几个关键步骤和配置:


✅ 一、确保 MySQL 已正确安装并运行

# 检查 MySQL 是否正在运行
systemctl status mysql
# 或
systemctl status mysqld

如果没有运行,先启动:

systemctl start mysql

设置开机自启:

systemctl enable mysql

✅ 二、配置 MySQL 允许远程访问

  1. 修改 MySQL 配置文件(通常是 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf

    找到 bind-address 这一行,将其改为:

    bind-address = 0.0.0.0

    如果注释掉这一行,默认也可能允许所有地址连接,但显式设置更安全可控。

  2. 重启 MySQL 服务

    systemctl restart mysql

✅ 三、创建可远程登录的用户并授权

登录 MySQL(默认只能本地):

mysql -u root -p

执行以下 SQL 命令:

-- 创建一个新用户(例如 user1),允许从任意主机连接(生产环境建议限制 IP)
CREATE USER 'user1'@'%' IDENTIFIED BY 'your_password';

-- 授予该用户权限(如所有数据库的全部权限)
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

注意:'%' 表示允许从任何 IP 连接,出于安全考虑,建议指定具体客户端 IP,如 'user1'@'123.123.123.123'


✅ 四、开放服务器防火墙端口

MySQL 默认使用 3306 端口

1. 服务器本地防火墙(如 firewalld 或 iptables)

# firewalld 示例
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

或使用 ufw(Ubuntu):

ufw allow 3306

2. 阿里云安全组规则(非常重要!)

登录 阿里云控制台 → 云服务器 ECS → 安全组 → 配置规则

添加一条 入方向规则

  • 授权类型:TCP
  • 端口范围:3306
  • 授权对象:你的公网 IP(如 123.123.123.123/32),或临时用 0.0.0.0/0(不推荐长期使用)

✅ 五、测试连接

使用客户端工具(如 Navicat、DBeaver、MySQL Workbench)或命令行连接:

mysql -h <你的阿里云服务器公网IP> -P 3306 -u user1 -p

如果能成功连接,说明配置成功。


⚠️ 安全建议

  1. 不要长期使用 root 用户远程登录
  2. 避免开放 %0.0.0.0/0 给所有人
  3. 定期更新密码,使用强密码
  4. 考虑使用 SSH 隧道连接更安全(即本地通过 SSH 转发 3306 端口)

🔒 使用 SSH 隧道连接(推荐方式)

如果你担心直接暴露 MySQL 端口,可以只允许本地访问 MySQL,然后通过 SSH 隧道连接:

ssh -L 3306:localhost:3306 root@<你的阿里云服务器IP>

然后本地用 mysql -h 127.0.0.1 -P 3306 -u user1 -p 连接,数据通过加密隧道传输,更安全。


总结

步骤 是否必须
安装并启动 MySQL ✅ 必须
修改 bind-address = 0.0.0.0 ✅ 必须
创建远程用户并授权 ✅ 必须
开放系统防火墙 ✅ 必须
配置阿里云安全组 ✅ 必须
测试连接 ✅ 建议

如有具体报错信息(如“Connection refused”、“Access denied”等),欢迎提供,我可以帮你进一步排查。

未经允许不得转载:云服务器 » 可以连接阿里云服务器手动安装的mysql吗?