资讯动态

MySQL 8.0与Navicat 17安装连接全指南

发布时间:2026/10/1 18:13:05 来源:尧图企业网站定制
1. 安装前的准备搞清楚 MySQL 和客户端之间的关系先说个真实的场景。前几天组里来了个新人电脑是刚配的 Windows 11公司那边给的需求是“本地装个 MySQL再用 Navicat 连上去写 SQL”。他下载的时候没细看装了一个 MySQL 8.0 的 MSI装完也没注意初始密码策略后来越来越不对劲——Navicat 连接一直报错密码明明是对的。最后折腾了一下午发现是安装时选的认证插件和客户端不兼容密码重置了三次才解决。我写这篇就是因为这个坑太典型了。在开始讲具体步骤之前先把 MySQL 和 Navicat 17 的关系说透。MySQL 是一个关系型数据库管理系统Navicat 是一个图形化的数据库管理客户端工具。很多人容易搞混Navicat 它本身不是数据库它只是帮你“看”数据库、“操作”数据库的一层壳。底层真正存数据、执行 SQL 的引擎是 MySQL 服务器。所以安装顺序上必须先装好 MySQL 并保证它作为一个服务能正常运行再去装 Navicat。顺序反了也不至于装不上但会让排查问题变得麻烦。另外要注意一个版本匹配的问题。MySQL 8.0 是目前的主流版本Navicat 17 完全支持 MySQL 8.0 的连接和管理也支持 MariaDB。但如果你公司的项目还在用 MySQL 5.7或者你在 Linux 服务器上部署的版本比较旧那就要留意 Navicat 17 对旧协议的支持。整体上 Navicat 17 向下兼容得很好不过我建议本地开发统一用 MySQL 8.0这样跟生产环境的差异最小。这里还要讲清楚一个搜索热词里出现频率很高的东西“mysql下载官网”。很多人在百度里搜出来的是各种第三方下载站里面捆绑的安装包可能有广告程序甚至更严重的问题。认准 MySQL 的官方下载地址下载页里能看到两个大的入口一个是 MySQL Community Server另一个是 MySQL Installer for Windows。我们本地开发装 MySQL Installer for Windows 就够了这个 MSI 安装包自带图形化向导不需要手动配置一堆参数。再确认一下系统要求。Navicat 17 官方支持 Windows 10/1164 位macOS 也有对应版本。MySQL 8.0 在 Windows 上运行对内存的底线是 2GB但说实话只给 2GB 跑起来会很卡。我建议本地开发机至少 8GB 内存CPU 双核以上硬盘剩 20GB 以上。如果你是要在虚拟机里装比如 VMware 虚拟机里准备一个 Win10 环境跑 MySQL Navicat内存至少给 4GB 更稳妥否则 MySQL 服务经常会被系统杀掉。下表列一下我建议的软硬件基线项目最低要求我的建议操作系统Windows 10 64 位Windows 11 64 位内存4GB16GB磁盘剩余空间10GB50GB 以上MySQL 版本8.08.0.36 最新补丁版Navicat 版本Navicat 17Navicat 17 最新小版本安装过程中最容易被忽略的一点是安装之前务必把本机已有的 MySQL 旧版本或残留服务清干净。很多人之前装过 MySQL 5.7卸载不彻底注册表里还有旧服务项再去装 8.0 的时候安装向导检测到 3306 端口被占用就会出现服务启动失败的情况。这点我会在后面的排查章节详细展开。2. 完整走一遍 MySQL 8.0 的安装流程别再一路点 Next 了2.1 下载安装包和启动向导从官网下载 MySQL Installer for Windows文件大约是几百 MB 的 .msi 格式。如果你是第一次接触 msi 文件怎么安装这样的问题这里解释一句MSI 是 Windows 的安装程序包格式双击后由 Windows Installer 引擎来执行跟 exe 的区别在于它支持更规范的组织方式和卸载管理所以下载完千万别直接改后缀名或者用压缩软件打开它那样没有任何意义只会增加解压损坏的风险。双击安装包之后会进入 MySQL Installer 的向导界面。这里有几个安装类型选项Developer Default开发者默认安装包含 MySQL Server、MySQL Shell、MySQL Workbench、Router 等全套组件。Server only只装 MySQL 服务器端。Client only只装命令行客户端和驱动相关组件。Full完全安装。Custom自定义组件。如果你只为了配合 Navicat 使用我选 Server only。因为 Workbench 和 Navicat 功能重叠没有必要装两个图形化工具白白占空间。但如果你后面可能要看一些 MySQL 官方的运维监控面板可以顺手勾上 MySQL Shell这个在命令行场景下很好用。选完之后点击 Execute 开始下载组件这一步需要联网。下载完成后向导会转到 Type and Networking 页面这里有一个很关键的选项端口号。默认是 3306一般来说不需要改。如果本机 3306 被其他软件占用了你可以在 Installer 里检测到端口冲突之后手动换一个比如 3307。但是换端口意味着后续 Navicat 连接的时候端口参数也要跟着改所以我一般推荐保持默认实在有冲突再改。2.2 认证插件、密码策略和坑到了 Authentication Method 这一步就是之前我那个同事踩的坑。MySQL 8.0 默认的认证插件是caching_sha2_password它在安全性和加密粒度上都比 5.7 时代的mysql_native_password要好。问题在于很多旧版本客户端工具和旧的 JDBC 驱动只支持旧的认证插件如果它们被强制中用caching_sha2_password连接就会出现Authentication plugin caching_sha2_password cannot be loaded或者 SSL 连接错误之类的报错。如果你用的是 Navicat 17那完全不用担心这个问题Navicat 17 原生支持caching_sha2_password。但你要是还在用 Navicat 11、12 那种老版本或者项目里引用了很老的驱动建议在安装时直接选择Use Legacy Authentication Method使用旧版认证即mysql_native_password。这一项在安装的时候一旦定下来后续改起来比较麻烦当然也不是不能改我会在第 4 节讲连接错误的时候给出两条解决路径。接下来是 Root Password 设置。安装向导会要求你为 root 用户设置一个密码。密码强度要求是至少包含大小写字母和数字长度有最低要求过弱会让你无法进入下一步。很多教程都让你用 root但真正的生产规范里root 一般在安装完创建业务账号之后就不再使用了。个人开发环境则可以稍微随意一点。再往下是 Windows Service 配置。这一步建议勾选“Configure MySQL Server as a Windows Service”然后服务名保持默认的MySQL80或者MySQL都行。启动类型选择 Automatic自动这样 Windows 开机的时候 MySQL 服务会自动拉起不用每次都手动去服务管理器里启动。2.3 安装完成后的验证方式安装完成后先别着急打开 Navicat花 30 秒做一下命令行验证。Windows 上打开 CMD 或 PowerShell输入mysql -u root -p系统会提示你输入密码输入刚才设置的根密码如果进入了mysql提示符说明服务正常账户正常。再执行一句SELECT VERSION();能看到类似8.0.36这样的版本号就说明装好了。这个验证动作虽然简单但它能帮你把问题边界划清楚——如果命令行能连进去但 Navicat 连不上那就是 Navicat 侧的问题如果命令行都进不去那就是 MySQL 服务或密码的问题。这个排查思路能省掉很多来回折腾的时间。如果命令行提示“mysql 不是内部或外部命令”说明环境变量 PATH 没有自动配置好。这里提供两个解决办法一是重新打开一个 CMD 窗口再试一次因为旧窗口不会加载新环境变量二是手动把 MySQL 的 bin 目录默认在C:\Program Files\MySQL\MySQL Server 8.0\bin添加到系统环境变量 PATH 里。安装向导默认会把它加到 PATH但有些精简版安装可能不会。2.4 环境变量与字符集的设置细节环境变量的配置方式如下右键“此电脑”选“属性”进“高级系统设置”点“环境变量”在“系统变量”里找Path编辑新增一条 MySQL bin 目录路径。这里有一个小细节如果系统变量里已经有 MySQL 的旧路径比如指向 5.7 的安装目录一定要先删掉旧的那条再新增。两个版本同时在 PATH 里mysql -u root -p到底调用哪个版本是不确定的虽然通常按顺序取先匹配到的那个但很容易引发混乱。字符集方面虽然安装向导里有一个“Character Set”的选择项默认是 utf8mb4在 MySQL 8.0 里这已经是正确选择不需要特别改动。唯一需要注意的是如果你会在 Windows 命令行里直接输入中文 SQL建议在 CMD 窗口里先执行chcp 65001切换到 UTF-8 代码页不然命令行显示中文可能乱码但这不影响 Navicat 里的正常使用。真正重要的是建库的时候指定 utf8mb4建表的时候指定 utf8mb4_unicode_ci 或 utf8mb4_general_ci 排序规则这两个字符集层面的问题我会在后面的章节专门讲。3. 安装 Navicat 17下载渠道、产品选择与试用授权说明3.1 Navicat 17 到底是干什么的、哪来、怎么装Navicat 17 是目前 Navicat 产品线里比较新的一代桌面版工具。它的核心能力是让你在图形化界面上管理数据库连接 MySQL、PostgreSQL、SQL Server、MariaDB、Redis 等多种数据源支持写 SQL、查看表结构、执行备份恢复、导入导出数据、可视化编辑存储过程、触发器、事件等数据库对象。对日常开发来说最大的价值是摆脱命令行把“看数据”这件事变成点一点就能完成的操作。下载的话请直接去 Navicat 官网下载页面找对应系统的安装程序Windows 版是.exe或者.msi格式。官网会根据你当前的系统自动推荐版本但也能手动切换语言。下载的时候注意看文件名里的位数信息Navicat 17 是 64 位为主的软件如果你的 Windows 还是 32 位就别折腾了先想办法换个 64 位系统再说因为新版本对 32 位系统的支持基本已经放弃。安装过程非常简单双击安装程序按照向导点 Next、同意许可协议、选择安装目录一路到 Finish。这里值得留意的是安装路径。有些人为了省空间把软件装在 C 盘之外这没问题但要注意整个路径里不要出现中文或特殊字符某些版本的 Navicat 对非英文路径处理不好可能会导致后续导出文件或者调用外部工具失败。我自己习惯装到D:\Program Files\Navicat 17一直没出过问题。3.2 关于“免费版”“注册密钥”“许可证”的正确理解很多搜索词里带着“navicat17破解版”“navicat17永久激活码”“navicat17注册密钥”我在这里必须说清楚一件事我自己只推荐使用官方试用版或购买正版授权本文也不含任何激活码、破解工具的相关信息。原因不复杂第一破解软件是违反软件许可协议的行为而且这类破解包下载源不可控很容易被二次打包塞进挖矿程序或后门。你装完发现数据库性能突然下降、电脑风扇狂转再去排查就晚了。第二Navicat 官方提供 14 天的全功能试用这个试用期覆盖 MySQL 连接、数据编辑、导入导出等功能对大多数场景来说足够完成评估。当然 14 天确实不算长如果你是学生或者开源项目开发者可以留意官方不定期推出的教育优惠和特别活动这比任何“破解版”都靠谱。第三如果公司采购流程走得通让公司买企业授权或者团队版开发体验会顺畅很多毕竟一个团队如果各自装了来源不明的破解版版本碎片化带来的兼容性问题也能让人头疼。所以如果你搜“navicat17免费版”这类词我的建议是先下载官方试用版用完评估一下值不值得买值得就直接买正版授权不值得说明 Navicat 对你的工作效率提升有限那就用免费的替代方案。MySQL 官方自带的 Workbench、DBeaver Community、JetBrains DataGrip付费但学生可申请免费授权都是可选工具。工具是为人服务的花太多时间在找“免费版”上不如把省下来的时间用在真正的工作上。3.3 Navicat 17 安装完成后的首次启动与界面变化Navicat 17 首次启动后会让你设置一下界面主题和语言。这里我建议直接选简体中文因为后续看提示信息会更顺畅。当然你英语没问题的话保持英文也行部分 SQL 报错信息在英文环境下更便于上网查资料。首次进入主界面你会看到一个左侧的“连接”面板和中间的大型工作区。17 版本相比老版本最大的变化是界面更紧凑连接管理器里把“连接”和“模型”分得更清楚。你可能会注意到它新增了一些集成功能比如协同工具、自动备份计划和更细粒度的权限隔离展示这些对新用户的感知不强但对老用户来说算是很实用的升级点。如果你之前用过 Navicat 15 或者 16你会发现 17 里新建连接的入口更顺手了点击左上角的“连接”按钮选择 MySQL就会弹出一个连接配置窗口。这个窗口里要填的东西我放在第 4 节里面讲因为涉及和 MySQL 服务端的联动这里先不展开。3.4 卸载残留与“清理所有痕迹”的正确操作搜索热词里有“清理navicat17的所有痕迹”这个需求的来源多半是之前装过盗版版本或试用版过期之后想重新安装结果发现重新安装报错、无法激活。一个正规的做法是先把 Navicat 卸载干净再重装。卸载时不要只删桌面快捷方式就以为卸载完了。去“设置 - 应用 - 已安装的应用”里找到 Navicat 17点击卸载。卸载完之后检查以下几个位置是否还有残留C:\Program Files\PremiumSoft\Navicat 17或你自定义的安装目录C:\Users\你的用户名\Documents\Navicat配置和连接信息的默认存放位置注册表项HKEY_CURRENT_USER\Software\PremiumSoft注册表方面的清理要小心如果你不熟悉注册表编辑器建议不要盲目删除先把上述文件目录清干净重启电脑再重新安装。如果这样还报错再考虑在注册表编辑器里通过搜索Navicat关键字逐一检查残留项。但一定要备份注册表或创建系统还原点不然误删系统关键项会比较麻烦。4. 在 Navicat 17 里连接 MySQL从连接参数到 SSL 错误排查4.1 新建连接的参数怎么填才算对打开 Navicat 17点击“连接”下拉菜单选“MySQL”。在弹出的窗口里需要重点关注几个字段。连接名这个是你自己给这个连接起的名字随便写比如“本地开发环境”。它只用于在连接列表里区分不同的数据库不参与网络协议。主机名本地连接填localhost或127.0.0.1。如果你想连局域网里另一台机器的 MySQL填那台机器的 IP比如192.168.1.200。端口填写 MySQL 实际监听的端口默认3306。如果你在安装 MySQL 时改了端口这里就要一致。用户名填写root或者你创建的业务账号。密码第一次连接时可以直接留空因为 Navicat 支持连接成功后再保存密码。填完后点击“连接”按钮如果成功左侧会出现该连接下面的数据库列表。连接名这个字段经常被忽略但对于要管理几十个数据库连接的人来说这个命名规范特别重要。建议用这种格式环境-用途-IP例如dev-订单库-192.168.1.200。不然过两个月回来看满屏都是“连接1”“连接2”根本分不清哪个是哪个。4.2 “MySQL SSL 连接错误”的两个常见成因热搜词里有一条“mysql ssl连接错误”这是 Navicat 连接 MySQL 时非常常见的一类报错。很多人一看到 SSL 两个字就蒙了以为要去配置证书。实际情况分两种。第一种原因出现在服务器端。MySQL 8.0 默认启用了 SSL 机制如果你下载的 MySQL 安装包或系统自带的证书文件缺失、过期或者 MySQL 配置文件中ssl_ca、ssl_cert指向的文件无效某些版本下客户端启动 SSL 握手就会失败。这种情况下你能看到服务端错误日志里有 SSL 相关的 warning 或 error。第二种原因出现在客户端连接参数上。Navicat 的 MySQL 连接配置里在“SSL”选项卡中有一个 SSL 模式的选项默认是“不加密”如果连接时提示 SSL 错误可以先确认这个选项是否被改成了“首选”或者服务器那边的 SSL 状态确实有问题。在排查阶段最简单的方法是先把 SSL 模式改为“不使用 SSL”或“禁用”看看能否连上。如果这样能连上说明 SSL 通道有问题但没有影响实际数据传输可以用但最好是重配证书。4.3 认证插件不兼容的解决方案如果连接报错信息里有caching_sha2_password或者Authentication plugin字样大多是认证插件不匹配。解决方法有两类第一类是针对 MySQL 侧去调整账户。用命令行登录 MySQL 后执行ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密码; FLUSH PRIVILEGES;这样会把该账户的认证插件改回旧版。MySQL 8.0 是支持旧插件的只是不再作为默认。这个操作在 MySQL 官方文档里也明确提到过主要是为了兼容旧客户端。不过要注意的是从安全角度讲caching_sha2_password更安全如果团队成员都能统一用 Navicat 17 或较新的驱动不建议为了兼容去降级认证插件。第二类是调整客户端连接参数。在 Navicat 17 的 MySQL 连接配置中有一些高级选项可以指定服务器端使用的插件或行为。Navicat 17 对 MySQL 8.0 的支持是完善的如果报错出现大概率是版本问题而不是默认参数问题。先确认 Navicat 版本是不是 17 的最新小版本再检查 MySQL 版本排除掉这两个基础因素后才考虑去动认证插件。4.4 一张表说清常见连接错误和应对思路我在实际帮人排查过程中见过这些问题列一张速查表报错现象可能原因优先排查动作2003 Cant connect to MySQL serverMySQL 服务未启动 / 端口错误 / 防火墙拦截服务管理器里看 MySQL80 服务状态netstat 检查 3306 监听1045 Access denied for user用户名或密码错误命令行用 root 试一遍确认账号和密码Authentication plugin 报错认证插件不兼容参照 4.3 的两类方案SSL 相关错误服务器证书异常或连接参数中启用了 SSL先关掉 SSL 加密测试连接成功后看不到数据库列表该用户权限不足用 root 登录检查该账号的库级权限连接超时网络不通或服务器开启防火墙简单 ping 测试检查云服务器安全组这些问题的排查顺序有一个共同原则从服务端到客户端、从底层到上层。先确认服务端是通的再考虑客户端配置。很多人一报错就直接翻 Navicat 设置这边动一下那边动一下反而把配置改乱了。正确姿势是先回到命令行用 mysql 客户端连一遍。命令行能连上就说明服务端没问题再去查 Navicat 的配置命令行也连不上那不是 Navicat 的问题先去修 MySQL。5. 连接成功后的规范化建库字符集、排序规则和避开新手的坑5.1 为什么字符集和排序规则这么重要Navicat 连接上 MySQL 之后第一件事不是急着建表而是先把数据库的字符集和排序规则定清楚。很多人建库时一路默认库里存中文没问题存 emoji 表情就报错“Incorrect string value”或者两个库之间导入数据时出现乱码根源都在字符集。MySQL 8.0 默认的字符集是utf8mb4它比utf8mb3也就是大家常说的 utf8能多存一个 4 字节字符的空间。emoji 表情就是 4 字节的所以旧版 utf8 遇到 emoji 就存不进去。现在新装 MySQL 8.0 已经默认用 utf8mb4这个坑主要发生在老项目迁移或者数据库字符集被修改过的情况下。排序规则也很容易踩坑。utf8mb4 常见的排序规则有utf8mb4_general_ci和utf8mb4_unicode_ci。general_ci比较规则简单排序速度快unicode_ci基于 Unicode 排序算法对于多语言支持更精确但速度上略微慢一点。对于大部分中文项目来说这两个都能用优先选utf8mb4_unicode_ci更稳妥。用 Navicat 建库时直接在“字符集”下拉框选utf8mb4“排序规则”选utf8mb4_unicode_ci。5.2 用 Navicat 建库建表的基本操作在 Navicat 里右键连接名选择“新建数据库”会弹出一个简洁的窗口。除了数据库名之外有两项要注意字符集和排序规则。数据库名我建议全部用小写字母、数字和下划线不要用中文也不要用驼峰命名。原因是 MySQL 在 Linux 平台对数据库名的字母大小写是敏感的Windows 平台则不敏感这种跨平台差异很容易让你把代码从 Windows 迁到 Linux 时莫名其妙报错“database does not exist”。建表时如果没有特殊需求表名也用小写加下划线风格。表引擎默认 InnoDB不要改成 MyISAM。InnoDB 支持事务和外键MyISAM 只适合极少数只读场景而且现在新项目没有理由再去用 MyISAM。主键上养成习惯加AUTO_INCREMENT或者用 UUID具体看业务但不要建表时不设主键。不设主键的 InnnoDB 表在数据量大了以后性能和可靠性都会出问题这个习惯最好从一开始就养好。5.3 Navicat 17 的几个实用功能点连接配置好、数据库建立好之后Navicat 17 里有一些功能很值得用查询窗口点击“新建查询”可以写 SQL 并直接执行。这个窗口自带语法高亮和自动补全比命令行舒服太多。数据传输把数据从一个库拷到另一个库或者从 Excel/CSV 导入图形化界面里选好源和目标就行。注意导入前先预览一下字段映射避免把 A 列导到 B 列。备份与计划Navicat 17 内置备份功能可以手动备份当前数据库也可以设置定时任务自动备份。这个对开发环境来说非常省心定时把数据倒腾到一个本地备份文件出问题时能快速恢复。模型设计如果你需要梳理表之间的关系可以打开模型设计器把表拉出来看 ER 图。比起画图工具它能直接从库里同步表结构省得手工画。自动运行Navicat 的自动运行功能可以批量执行预设的 SQL 脚本任务比如每天定时清理日志表。配置好链路之后日常维护基本不用人工盯着。很多人只把 Navicat 当成“看图工具”但其实它的查询、备份、调度能力都值得认真用起来。尤其是数据量超过千行、SQL 开始需要反复调试的场景下Navicat 的调试体验会明显提升你的效率。5.4 提一下热词里的存储过程、事务、排序和连接池你会发现搜索词里还有一堆跟 Navicat 相关的技术名词比如“mysql存储过程”“mysql事务处理”“mysql排序”“数据库连接池”。如果你是在准备一个 JavaWeb 或其他后端项目这些概念都会和 MySQL 打交道但很多初学的人会把它们全塞到“Navicat 操作”里这是个误解。存储过程是写在 MySQL 服务端的一段 SQL 程序Navicat 只是提供一个编写和调试它的界面。事务是 MySQL 引擎层面的能力InnoDB 才支持事务Navicat 的查询窗口只能通过执行 COMMIT、ROLLBACK 来控制事务的提交或回滚。排序是 SQL 语法的问题你写ORDER BY的时候决定排序方式Navicat 只是执行环境。数据库连接池是后端代码层面的概念比如 Java 的 HikariCP 或 Druid它控制应用程序和 MySQL 之间的连接复用Navicat 本身并不参与连接池的机制。把这些概念分清楚你排查问题的时候思路就会清晰很多插入数据一直不生效先去想是不是事务没有提交CSV 导入后中文乱码先看字符集某个查询特别慢先看索引或执行计划。工具只是载体真正解决问题的还是对数据库本身原理的理解。6. 实测中的体会与补充建议写到最后说几个我自己实际使用中的体会。第一个MySQL 和 Navicat 这种组合最值得投资的不是软件本身而是“命名规范”和“操作习惯”。连接名、库名、表名前期定好规范后期维护成本能省一大截。我自己吃过一次亏当年接手一个老项目数据库表名有驼峰、有下划线、还有数字前缀Navicat 里排桌面一样乱写 SQL 全靠猜后来花了一整天重构命名。这个教训太深刻现在无论多小的项目我都会先定规范再动手。第二个连接不上时优先信命令行别信图形化界面。很多人习惯在 Navicat 里反复改参数却忘了一件事Navicat 再智能也只是客户端的实现。你用mysql -u root -p能连上说明 MySQL 服务端是好的问题一定出在 Navicat 的某些设置上连不上那就先检查服务、密码、端口别在客户端里做无用功。这个判断顺序帮我排掉过无数个“看似复杂实则简单”的问题。第三个安全性和合规性要长期放在心上。数据库里存的是真实业务数据不管本地还是生产环境建议都分配最小权限的专用账号而不是一个 root 走天下。本地开发可以随意一点但只要涉及生产环境操作前备份、操作后验证这两步绝对不能省。Navicat 的备份功能我用了十几年它虽然不能替代企业级备份方案但在个人开发和小型项目里已经足够可靠。最后再分享一个小技巧在 Navicat 里写 SQL 时如果删错数据需要回滚一定要先把事务开启再操作。点“新建查询”后先执行START TRANSACTION;然后再做 UPDATE 或 DELETE。确认无误后再执行 COMMIT要是发现不对直接执行 ROLLBACK。这个习惯能救你很多次尤其是在没有开启 binlog 也没有完整备份的环境下。MySQL 没有撤回键唯一可靠的撤回方式就是事务。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑