在阿里云服务器上配置 MySQL 远程访问需要完成两个核心步骤:MySQL 权限配置和阿里云安全组设置,以下是详细操作流程:
一、配置 MySQL 允许远程访问
1. 登录 MySQL 数据库
通过服务器终端登录 MySQL(以 Linux 为例):
bash
mysql -u root -p
# 输入MySQL root密码
2. 授权远程访问用户
方法 1:允许 root 用户远程访问(不推荐生产环境)
sql
-- 创建允许所有IP访问的root用户(%表示任意IP)
CREATE USER root@% IDENTIFIED BY 你的MySQL密码;
-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO root@% WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
方法 2:创建专用远程用户(推荐)
sql
-- 创建新用户(例如:remote_user,仅允许特定IP访问)
CREATE USER remote_user@你的本地IP IDENTIFIED BY 自定义密码;
-- 或允许所有IP(生产环境谨慎使用)
CREATE USER remote_user@% IDENTIFIED BY 自定义密码;
-- 授予权限(例如:仅授予test数据库的所有权限)
GRANT ALL PRIVILEGES ON test.* TO remote_user@%;
-- 刷新权限
FLUSH PRIVILEGES;
3. 确认配置生效
sql
-- 查看用户权限
user, host FROM mysql.user;
若能看到user对应的host为%或你的 IP,则配置成功。二、修改 MySQL 配置文件(可选,针对部分版本)
部分 MySQL 版本默认绑定本地 IP(127.0.0.1),需修改配置文件允许远程连接:
1. 编辑配置文件
- Linux(CentOS):
- Linux(Ubuntu):
- Windows:找到 MySQL 安装目录下的
my.ini(通常在C:\ProgramData\MySQL\MySQL Server x.x\)
2. 注释绑定本地 IP 的配置
找到bind-address = 127.0.0.1,在前面加#注释:
ini
# bind-address = 127.0.0.1
3. 重启 MySQL 服务
- Linux:
- Windows:在 “服务” 中找到
MySQL80(或对应服务名),右键重启。
三、配置阿里云安全组开放 3306 端口
MySQL 默认端口为 3306,需在阿里云控制台开放该端口:
- 登录阿里云 ECS 控制台,进入目标实例详情页。
- 左侧菜单找到安全组,点击实例绑定的安全组名称。
- 点击入方向 → 手动添加,填写规则:
- 点击确定,规则立即生效。
四、测试远程连接
使用本地工具(如 Navicat、DataGrip)测试连接:
- 主机:阿里云服务器的公网 IP
- 端口:3306
- 用户名:远程访问用户(如
remote_user或root) - 密码:对应用户的密码
- 若连接失败,检查以下几点:
- MySQL 用户权限是否正确配置(
host是否包含客户端 IP)。 - 安全组是否已开放 3306 端口,且授权对象包含客户端 IP。
- 服务器防火墙是否放行 3306 端口(Linux 可通过
firewall-cmd --list-ports查看,如需开放: - 通过以上步骤,即可安全地配置 MySQL 的远程访问功能。生产环境中建议限制允许访问的 IP,并避免使用 root 用户进行远程连接。

