MySQL 8 设置允许远程连接(Windows环境)

发布于:2025-03-15 ⋅ 阅读:(15) ⋅ 点赞:(0)

🌟 MySQL 8 设置允许远程连接(Windows环境)

在开发和部署应用时,经常需要从远程主机连接到MySQL数据库。默认情况下,MySQL仅允许本地连接,因此需要进行一些配置才能允许远程访问。今天,我将详细说明如何在Windows环境下配置MySQL 8,使其允许远程连接。

一、配置步骤

1. 开放Windows防火墙端口

MySQL默认使用端口3306进行通信。如果Windows防火墙阻止了该端口,远程连接将无法成功。以下是开放端口的步骤:

(1)打开Windows防火墙设置
  • 搜索“Windows Defender 防火墙”,打开防火墙设置。
(2)添加端口规则
  • 在左侧菜单中选择“高级安全设置”。
  • 在“入站规则”中,点击“新建规则”。
  • 选择“端口”,点击“下一步”。
  • 输入端口号3306,选择“TCP”,点击“下一步”。
  • 选择“允许连接”,点击“下一步”。
  • 确保所有配置文件(如“域”、“私有”、“公共”)都已勾选,点击“下一步”。
  • 给规则命名(如MySQL 3306),点击“完成”。

防火墙设置截图:

我直接关闭防火墙了

在这里插入图片描述

图1:Windows防火墙设置

2. 修改MySQL配置文件

MySQL的配置文件my.ini通常位于C:\ProgramData\MySQL\MySQL Server 8.0。以下是修改配置文件的步骤:

(1)找到配置文件
  • 打开文件资源管理器,进入C:\ProgramData\MySQL\MySQL Server 8.0
  • 找到my.ini文件。
(2)修改配置文件
  • 使用文本编辑器(如记事本)打开my.ini文件。
  • 找到[mysqld]部分,添加或修改以下内容:
bind-address=0.0.0.0
  • 保存文件并关闭编辑器。

配置文件修改截图:

在这里插入图片描述

在这里插入图片描述

图2:配置文件修改

3. 重启MySQL服务

修改配置文件后,需要重启MySQL服务以使更改生效。

(1)打开命令提示符
  • Win + X键,选择“命令提示符(管理员)”。
(2)重启服务
  • 输入以下命令重启MySQL服务:
net stop mysql80
net start mysql80

重启服务截图:

在这里插入图片描述

图3:重启服务

4. 配置MySQL用户权限

即使配置文件允许远程连接,MySQL用户可能仍然没有远程访问权限。以下是配置用户权限的步骤:

(1)登录MySQL
  • 打开命令提示符,输入以下命令登录MySQL:
mysql -u root -p
  • 输入root用户的密码。
(2)添加权限
  • 输入以下命令,为root用户添加远程访问权限:
-- 添加权限
grant all privileges on *.* to 'root'@'%' identified by 'your_password';
-- 刷新权限
flush privileges;
  • 如果你已经设置了root用户的密码,可以跳过identified by部分。
(3)验证权限
  • 输入以下命令,查看用户权限:
use mysql;
select user, host from user;
  • 如果看到root用户的host值为%,说明权限已正确设置。

MySQL权限设置截图:

在这里插入图片描述

图4:MySQL权限设置

5. 配置MySQL用户权限(方式二)

-- 登录mysql
mysql -u root -p;
--添加权限
grant all on *.* to 'root'@'localhost';
--刷新权限
flush privileges;
--切换mysql
use mysql;
--查看权限
select user,host from user;

在这里插入图片描述

没有成功

update user set host='%' where user='root';
--
grant all privileges on *.* to root@'%';
--
select user,host from user;

在这里插入图片描述

修改成功

远程连接成功截图:

在这里插入图片描述

图5:远程连接成功

三、常见问题排查

1. 防火墙问题

  • 确保Windows防火墙已正确开放端口3306
  • 如果使用的是第三方防火墙软件,也需要在该软件中开放端口。

2. MySQL配置文件未生效

  • 确保修改了正确的my.ini文件(路径为C:\ProgramData\MySQL\MySQL Server 8.0)。
  • 修改配置文件后,必须重启MySQL服务。

3. 用户权限问题

  • 确保root用户的host值为%
  • 如果权限未生效,可以尝试以下命令:
update user set host='%' where user='root';
grant all privileges on *.* to 'root'@'%';
flush privileges;

四、总结

通过以上步骤,你可以轻松配置MySQL 8允许远程连接。关键在于开放防火墙端口、修改配置文件以及正确设置用户权限。希望这篇文章能帮助你解决远程连接的问题!如果你在操作过程中遇到任何问题,欢迎在评论区留言。