前言
在开发和部署应用时,经常需要从远程主机连接到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允许远程连接内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论