Win11虚拟机MySQL局域网连接的核心操作步骤

 更新时间:2026年07月29日 11:08:37   作者:Yision(亦书)  
在现代开发环境中虚拟机可以为我们提供一个隔离的测试环境,下面这篇文章主要介绍了Win11虚拟机MySQL局域网连接的核心操作步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、环境说明

  • 物理机系统:Windows 11
  • 虚拟机系统:Windows 11
  • MySQL 版本:8.4.7(免安装版 / 解压版)
  • 网络模式:虚拟机 NAT 模式(物理机 VMnet8 网卡 IP:192.168.11.1,虚拟机 IP:192.168.11.131)
  • 核心结果:物理机 ping 不通虚拟机(防火墙禁 ICMP),但可正常访问 MySQL

二、核心操作步骤(3 大关键环节)

(一)设置 MySQL 远程访问用户(授权物理机登录)

  1. 虚拟机打开「命令提示符」,无密码登录 MySQL:

    mysql -u root
  2. 设置 root 用户密码(替换为自定义强密码,如Root@123456):

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';
    FLUSH PRIVILEGES;
    
  3. 创建远程访问用户并授权(允许所有 IP 通过 root 用户连接):

    CREATE USER 'root'@'%' IDENTIFIED BY 'Root@123456';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  4. 退出 MySQL 命令行:

    exit;
    

(二)创建 / 修改 my.ini 配置(解除本地监听限制)

  1. 定位 MySQL 根目录(免安装版路径示例):

    C:\YiShu\MySQL\mysql-8.4.7-winx64\
    
  2. 新建 my.ini 文件(需显示文件扩展名,避免生成 my.ini.txt ),粘贴以下配置:

    [mysqld]
    basedir = C:\YiShu\MySQL\mysql-8.4.7-winx64  # 替换为实际MySQL根目录
    datadir = C:\YiShu\MySQL\mysql-8.4.7-winx64\data  # 根目录下新建空data文件夹
    port = 3306
    bind-address = 0.0.0.0  # 监听所有IP,允许远程访问
    
    [client]
    port = 3306
    default-character-set = utf8mb4
    
  3. 重启 MySQL 服务生效:

    • 虚拟机按Win+R,输入services.msc打开服务
    • 找到 MySQL 服务(如MySQLMySQL84),右键「重启」

(三)开放虚拟机防火墙 3306 端口(放行 MySQL 流量)

  1. 虚拟机按Win+R,输入wf.msc打开「高级防火墙」
  2. 左侧选「入站规则」,右侧点击「新建规则」,按向导配置:
    • 规则类型:端口 → 下一步
    • 协议和端口:TCP + 特定本地端口(输入3306)→ 下一步
    • 操作:允许连接 → 下一步
    • 配置文件:全选(域、专用、公用)→ 下一步
    • 名称:MySQL 3306 → 完成

三、物理机连接 MySQL(两种方式)

方式 1:命令行连接

  1. 物理机打开「命令提示符」,输入连接命令:

    mysql -h 192.168.11.131 -u root -p
  2. 输入步骤(一)设置的密码,出现mysql>提示符即连接成功

方式 2:图形化工具连接(如 Navicat)

  1. 新建 MySQL 连接,配置如下:
    • 连接名:自定义(如「虚拟机 MySQL」)
    • 主机:192.168.11.131
    • 端口:3306
    • 用户名:root
    • 密码:自定义密码(如Root@123456
  2. 点击「测试连接」,提示成功后即可使用

四、关键说明与问题排查

1. 核心逻辑总结

  • 授权用户:给物理机办「门禁卡」(允许登录)
  • 配置 my.ini:给 MySQL 开「网络大门」(接收请求)
  • 开放端口:给防火墙加「白名单」(放行流量)

2. 常见问题解决

  • 连接超时:检查虚拟机 MySQL 服务是否启动、3306 端口是否开放、my.inibind-address是否为0.0.0.0
  • 权限拒绝(Access denied):确认远程用户root@%已创建,密码输入正确
  • ping 不通虚拟机:正常现象(防火墙禁 ICMP),不影响 MySQL 访问;需 ping 通则在防火墙启用「文件和打印机共享 (回显请求 - ICMPv4-In)」规则

五、验证操作(可选)

连接成功后,可在物理机 MySQL 命令行执行以下命令验证:

show databases;  # 查看数据库
create database test_db;  # 新建测试库
use test_db;
create table test_table (id int, name varchar(20));  # 新建测试表
insert into test_table values (1, '物理机测试数据');  # 插入数据
select * from test_table;  # 查询数据(需返回结果则验证成功)

到此这篇关于Win11虚拟机MySQL局域网连接的核心操作步骤的文章就介绍到这了,更多相关Win11虚拟机MySQL局域网连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql如何显示longblob解决方案

    mysql如何显示longblob解决方案

    这篇文章主要为大家介绍了mysql如何显示longblob解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 浅谈SQLite时间函数的使用说明与总结分析

    浅谈SQLite时间函数的使用说明与总结分析

    本篇文章是对SQLite时间函数的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • MySQL中update语法的使用记录

    MySQL中update语法的使用记录

    在MySQL中,UPDATE 语句用于修改已存在的表中的记录,下面通过示例介绍MySQL中update语法的使用记录,感兴趣的朋友一起看看吧
    2024-07-07
  • MySQL数据库自动补全命令的三种方法

    MySQL数据库自动补全命令的三种方法

    这篇文章主要介绍了MySQL数据库自动补全命令的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 使用Shell脚本操作多个MySQL数据库的步骤详解

    使用Shell脚本操作多个MySQL数据库的步骤详解

    本文介绍如何通过Shell脚本批量操作多个MySQL数据库,包含创建数据库信息文件、编写执行脚本、准备SQL文件及设置权限等步骤,实现自动遍历连接各数据库并执行指定SQL语句创建表的操作,需要的朋友可以参考下
    2025-08-08
  • 一次mysql迁移的方案与踩坑实战记录

    一次mysql迁移的方案与踩坑实战记录

    这篇文章主要给大家介绍了一次mysql迁移的方案与踩坑的相关资料,MySQL迁移是DBA日常维护中的一个工作,迁移究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性,需要的朋友可以参考下
    2021-08-08
  • Mysql数据库支持的存储引擎对比

    Mysql数据库支持的存储引擎对比

    这篇文章主要介绍了Mysql数据库支持的各个存储引擎之间的对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-09-09
  • mysql表格id清零的三种方法

    mysql表格id清零的三种方法

    本文主要介绍了mysql表格id清零的三种方法,主要包括TRUNCATE TABLE语句,ALTER TABLE语句和DELETE语句,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • MySQL 数据库两台主机同步实战(linux)

    MySQL 数据库两台主机同步实战(linux)

    MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。
    2009-04-04
  • MySQL 权限表db、tables_priv、columns_priv和procs_priv的具体使用

    MySQL 权限表db、tables_priv、columns_priv和procs_priv的具体使用

    MySQL中有多个权限相关的表,本文主要介绍了MySQL 权限表db、tables_priv、columns_priv和procs_priv的具体使用,感兴趣的可以了解一下
    2023-11-11

最新评论