VMware虚拟机部署MySQL 8.0.37与Navicat远程连接教程

在本地开发或测试时,虚拟机是隔离环境、避免主机资源混乱的理想选择。本文记录了在Windows 11主机的VMware Workstation 17 Pro中,通过Windows Server 2016虚拟机部署MySQL 8.0.37的完整步骤,涵盖安装、配置、远程连接及常见问题解决方案。

适用场景:

  • 需要独立数据库环境的本地测试
  • 避免主机系统资源冲突
  • 学习虚拟机与MySQL的协同配置

环境准备

组件 版本/型号 说明
主机操作系统 Windows 11 安装VMware Workstation的物理机
虚拟机软件 VMware Workstation 17 Pro 支持虚拟机网络配置与资源分配
虚拟机操作系统 Windows Server 2016 安装MySQL的宿主机环境
数据库软件 MySQL 8.0.37 官方压缩包(非安装版)
图形化工具 Navicat Premium 16.3 远程连接与管理MySQL

全流程步骤

1. 虚拟机环境配置

1.1 创建/配置虚拟机
  • 打开VMware Workstation,新建虚拟机或选择现有虚拟机:

    • CPU/内存:建议分配2核CPU、4GB内存(根据实际需求调整)。

    • 网络设置:

      • 选择 NAT模式(默认)或 桥接模式(需手动配置IP,如果经常更换网络不建议选择桥接模式)。
    • 选择Windows Server 2016镜像进行安装。

    • 确保虚拟机联网正常。(正常情况下选择NAT模式,进系统网络就是正常的)。

    • 由于首次进入系统默认是自建的普通用户,需要切换到administrator账户,该账户首次登录需要修改密码,请记住该密码。

2. 下载与解压MySQL

2.1 下载MySQL压缩包
  • 访问 MySQL官网,下载 MySQL,我使用的版本是 8.0.37 的 Windows (x86, 64-bit), ZIP Archive 版本。
  • 在自己的电脑上解压后直接长按拖到虚拟机指定路径(如 C:\MySQL下,这个看自己你想放哪放哪,只要目录不含有中文就行)。
2.2 配置环境变量
  • 右键“此电脑” → 属性 → 高级系统设置 → 环境变量。
  • 或直接点击桌面左下搜索图标(看着像放大镜的图标)→输入“环境变量”→编辑系统环境变量→环境变量
  • 打开环境变量后在下方 系统变量 中选择Path→编辑→新建→将mysql的bin目录地址粘贴进去点击确定保存即可。bin目录地址演示:C:\MySQL\mysql-8.0.37-winx64\bin

3. 配置MySQL服务

3.1 创建配置文件
  • 在文件资源管理中点击左上角的→查看→勾选文件扩展名。

  • 在MySQL目录()中新建文件"my.ini"。

  • 右键编辑“my.ini”文件将如下内容复制到里面:

    [mysqld]
    # 设置3306端口
    port=3306
    # 允许外部访问
    bind-address=0.0.0.0
    # 设置mysql的安装目录,根据自己的安装目录设置
    basedir=C:mysql\mysql-8.0.37-winx64
    # 设置mysql数据库的数据存放目录,一般是安装目录下新建data文件夹
    datadir=C:mysql\mysql-8.0.37-winx64\data
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8mb4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件认证
    default_authentication_plugin=mysql_native_password
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8mb4
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8mb4
    
  • 仅根据自己的实际安装目录修改“安装目录和数据存放目录”,请看备注,其他的不要动。

  • 修改完成后点击左上角的“文件”→另存为→将编码改为ANSI→保存→替换原文件。

3.2 初始化MySQL服务

  • 以管理员身份打开命令提示符(CMD),执行:cd C:\MySQL\mysql-8.0.37-winx64\bin,根据自己的实际地址替换。
  • 再执行:mysqld --initialize --console进行初始化MySQL服务。
    • 注意:命令行会输出临时root密码(如 temporary password is generated for root@localhost: uryGvX7#s@2w),需记录该密码。

3.3 安装MySQL为Windows服务

  • 继续在CMD中执行:mysqld --install mysql

4. 启动MySQL服务

4.1 启动服务

  • 输入命令:net start mysql
  • 若提示成功,MySQL服务已启动。

4.2 修改root密码与安全配置

  • 连接本地MySQL**:mysql -uroot -p**
  • 输入临时密码后,执行以下命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION; FLUSH PRIVILEGES;这里的“%”表示所以ip都可以连接,生产环境不建议用。
  • 刷新权限:FLUSH PRIVILEGES;

5. 配置防火墙与网络

5.1 开放MySQL端口(或关闭防火墙,非生产环境时)

  • 在虚拟机的Windows防火墙中:
    • 新建入站规则 → 端口 → TCP 3306 → 允许连接。

6. 使用Navicat连接MySQL

6.1 打开Navicat

  • 文件 → 新建连接 → MySQL:

    • 主机名/IP:虚拟机的IP地址(在虚拟机中通过cmd命令:ipconfig获取)。
    • 端口:3306
    • 用户名:root
    • 密码:新设置的密码
    • 取消勾选 SSH隧道(直接TCP/IP连接)。
  • 测试连接成功后,可进行数据库操作。


常见问题及解决思路

问题1:使用桥接模式时虚拟机无法连接网络。

解决思路:请手动配置虚拟机的IP,务必确保与物理主机处于同一个网段,特别是使用校园网或经常切换WiFi,网段可能会变。

问题2:MySQL的初始密码往往比较复杂,容易搞错或忘记初始密码。

解决思路:可以将安装目下的data文件夹清空重新使用 sudo mysqld --initialize-insecure命令进行初始化,初始化后没有密码,可以直接登录(生产环境勿用)。

问题3:Navicat连接超时。

解决思路:先通过 ping ip地址测试能不能ping通虚拟机,能ping通则使用 PowerShell 的 Test-NetConnection -ComputerName 目标IP -Port 3306命令测试3306端口是否能正常通信。如果有问题再检查虚拟机的网络配置和防火墙。如果没有问题,检查一下mysql的连接权限是否为“%”。

问题n:任何问题。

解决方法:点击解决一切问题


总结

通过本文的步骤,你可以在VMware虚拟机中快速搭建MySQL测试环境,并通过Navicat实现远程管理。若遇到问题,可参考日志定位错误,或尝试重置MySQL服务 mysqld --remove后重新安装服务)。