
《VMware虚拟机部署MySQL 8.0.37与Navicat远程连接教程》
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
),需记录该密码。
- 注意:命令行会输出临时root密码(如
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连接)。
- 主机名/IP:虚拟机的IP地址(在虚拟机中通过cmd命令:
-
测试连接成功后,可进行数据库操作。
常见问题及解决思路
问题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
后重新安装服务)。