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

ops/2025/3/18 23:23:14/

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


http://www.ppmy.cn/ops/166894.html

相关文章

Java 常用工具类大全:高频工具类及代码示例(后续继续补充)

在 Java 开发中,工具类是提高开发效率的利器。本文将总结全网搜索频率最高的 20 个 Java 工具类,并提供详细的代码示例和说明,涵盖字符串处理、集合操作、日期时间、文件操作、数学计算等多个方面。 1. ​**StringUtils(Apache Co…

STM32配套程序接线图

1 工程模板 2 LED闪烁 3LED流水灯 4蜂鸣器 5按键控制LED 6光敏传感器控制蜂鸣器 7OLED显示屏 8对射式红外传感器计次 9旋转编码器计次 10 定时器定时中断 11定时器外部时钟 12PWM驱动LED呼吸灯 13 PWM驱动舵机 14 PWM驱动直流电机 15输入捕获模式测频率 16PWMI模式测频率占空…

jenkins 配置邮件问题整理

版本:Jenkins 2.492.1 插件: A.jenkins自带的, B.安装功能强大的插件 配置流程: 1. jenkins->系统配置->Jenkins Location 此处的”系统管理员邮件地址“,是配置之后发件人的email。 2.配置系统自带的邮件A…

SQL语言的编译原理

SQL语言的编译原理 引言 SQL(Structured Query Language,结构化查询语言)是用于管理和操作关系数据库的一种标准语言。作为一种高级语言,SQL不仅易于使用,而且功能强大。然而,SQL语言本身并不能直接被计算…

LeetCode2593 标记所有元素后数组的分数

贪心算法实战:数组标记与分数计算(LeetCode 同类题解析) 一、问题描述 给定一个正整数数组 nums,按以下规则计算最终分数: 初始分数 score 0每次选择最小且未被标记的元素(值相同选下标最小&#xff09…

【最新版】智慧小区物业管理小程序源码+uniapp全开源

一.系统介绍 智慧小区物业管理小程序,包含小区物业缴费、房产管理、在线报修、业主活动报名、在线商城等功能。为物业量身打造的智慧小区运营管理系统,贴合物业工作场景,轻松提高物业费用收缴率,更有功能模块个性化组合,助力物业节约成本高效运营。 二.搭建环境 系统环…

Android第三次面试总结(activity和线程池)

1. Activity 的生命周期方法有哪些?调用顺序是什么? 回答思路:列举 7 个核心方法并说明其触发场景。回答示例: 完整生命周期:onCreate() → onStart() → onResume() → onPause() → onStop() → onDestroy()。可见但…

SpringMVC——REST简介及入门案例

REST简介 REST(Representational State Transfer)即表现层状态转移,是一种基于HTTP协议的网络应用程序的架构风格。它强调客户端和服务器之间的交互操作,通过对资源的表现形式进行操作来实现对资源的管理。REST风格的API设计具有简…