Windows环境下MySQL8设置允许远程连接的步骤

 更新时间:2026年01月23日 09:43:34   作者:黄同学real  
作为一名经验丰富的开发者,我理解初学者在面对MySQL 8远程登录设置时可能会感到困惑,下面这篇文章主要介绍了Windows环境下MySQL8设置允许远程连接的相关资料,文中将步骤介绍的非常详细,需要的朋友可以参考下

前言

在开发和部署应用时,经常需要从远程主机连接到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允许远程连接。关键在于开放防火墙端口、修改配置文件以及正确设置用户权限。希望这篇文章能帮助你解决远程连接的问题!如果你在操作过程中遇到任何问题,欢迎在评论区留言。

到此这篇关于Windows环境下MySQL8设置允许远程连接的文章就介绍到这了,更多相关MySQL8允许远程连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql时区查看与设置方法

    mysql时区查看与设置方法

    这篇文章主要介绍了mysql时区查看与设置方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • mysql语法之DQL操作详解

    mysql语法之DQL操作详解

    大家好,本篇文章主要讲的是mysql语法之DQL操作详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • MySQL中my.ini文件的基础配置和优化配置方式

    MySQL中my.ini文件的基础配置和优化配置方式

    文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持
    2025-01-01
  • mysql触发器中监控字段的改变方式

    mysql触发器中监控字段的改变方式

    这篇文章主要介绍了mysql触发器中监控字段的改变方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySql 字符集不同导致 left join 慢查询的问题解决

    MySql 字符集不同导致 left join 慢查询的问题解决

    当两个表的字符集不一样,在使用字符型字段进行表连接查询时,就需要特别注意下查询耗时是否符合预期,本文主要介绍了MySql 字符集不同导致 left join 慢查询的问题解决,感兴趣的可以了解一下
    2024-05-05
  • 查询MySQL中的树型表两种方法

    查询MySQL中的树型表两种方法

    在 MySQL中查询树型表(即具有层级结构的表)可以使用递归查询或者使用嵌套集模型,下面介绍两种方法查询MySQL中的树型表,感兴趣的朋友一起看看吧
    2024-01-01
  • MySQL触发器的使用详解

    MySQL触发器的使用详解

    触发器trigger是一种特殊的存储过程,他在插入(inset)、删除(delete)或修改(update)特定表中的数据时触发执行,下面这篇文章主要给大家介绍了关于MySQL触发器使用的相关资料,需要的朋友可以参考下
    2022-06-06
  • 单个select语句实现MySQL查询统计次数

    单个select语句实现MySQL查询统计次数

    MySQL中查询统计次数往往语句写法很复杂,下文就教您一个只用单个select语句就实现的方法,希望对您能够有所帮助
    2014-05-05
  • 详解MySQL8.0原子DDL语法

    详解MySQL8.0原子DDL语法

    这篇文章主要介绍了详解MySQL8.0原子DDL语法的相关资料,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • 详解Mysql和Oracle之间的误区

    详解Mysql和Oracle之间的误区

    mysql 和Oracle 在开发中的使用是随处可见的,那就简单去了解一下这俩款火的不行的数据库。
    2021-05-05

最新评论