尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Windows下MySQL 8安装全攻略:从MSI到ZIP,解决2059错误

Windows下MySQL 8安装全攻略:从MSI到ZIP,解决2059错误 MySQL 是学习后端开发、JavaWeb、数据分析绕不开的数据库。很多人不是卡在 SQL 写法而是卡在第一步安装。2026 年再看 MySQL 下载安装官网流程比早期版本清晰了不少但仍有一些细节只要没注意就会莫名其妙报错。比如安装完服务启动不了、命令行连不上、新版客户端连接报 2059 错误。这篇教程我从下载方式、MSI 安装、ZIP 部署、初始化配置、服务启动到常见报错全走一遍适合刚入门想在自己的 Windows 电脑上装好环境的人。先说明一点安装包我这边不放网盘因为别人转存的安装包不能保证原版容易被改过。最稳妥的方式是直接走官网或知名镜像站下载下面会给你完整路径。安装过程不复杂但每一步的选项都有原因别一路狂点“Next”。1. 下载前先确认版本、安装包类型和系统环境1.1 版本选择不要盲目追新按项目需求来MySQL 的版本号非常多如果你打开官网下载页会看到一堆名字。很多新手看到“Latest Release”就直接点结果装完后发现和教程里的界面不一样这是最常见的问题。我的建议很简单如果你是跟着 JavaWeb、Spring Boot、数据分析这类课程学习就用课程指定版本。如果课程没指定就选官网当前提供的长期支持版或者已经足够成熟的 8.x 稳定版本。不要只看版本数字大就装也不要因为某个视频里用的是 5.7就到处找老安装包。5.7 在不少老项目中还有大量存量但已经停止更新了。对个人新搭建的学习环境来说我不建议再选 5.7。新版 MySQL 在默认字符集、认证方式、JSON 支持、性能优化上都有明显变化你以后面试或写项目时大概率接触到的也是 8.x 环境。选 8.x 的长期支持版既兼顾学习也适合后续往生产思维靠拢。需要留意的是版本选择会影响后面所有工具链。比如 MySQL 8 默认使用caching_sha2_password认证方式一些旧版 Navicat、旧版 JDBC 驱动、旧版 Workbench 可能不认连接时会报Authentication plugin相关错误。所以下载前先想清楚电脑上已有的连接工具、开发框架、驱动版本是否都兼容你选择的 MySQL 版本。1.2 安装包类型MSI 和 ZIP 选哪个Windows 下安装 MySQL 主要有两种方式MSI 安装包图形界面安装向导适合新手。它会帮你处理依赖、初始化数据目录、注册 Windows 服务、设置密码。如果你第一次装优先选这种方式。ZIP 压缩包绿色版/免安装版解压后需要手动写配置、初始化、安装服务。适合你想搞懂 MySQL 内部结构或者需要部署多个实例、反复测试的时候。两种方式的最终效果没有本质区别安装后都是一个 MySQL 服务。区别在于你对配置过程的掌控程度。想快速跑起来选 MSI想以后能定制化部署选 ZIP。下载页里还有一种 “Web Community” 在线安装器体积很小但运行时会从网上下载组件。如果你的网络不稳定或者公司网络有限制建议直接下载完整的离线安装包也就是mysql-installer-community开头的文件。这样安装时不容易中断也能避免在线安装器版本和实际安装包不一致的问题。1.3 安装前先检查系统环境Windows 安装 MySQL 对硬件要求不高但不代表可以完全不管环境。我一般会先做这几件事确认系统是 64 位 Windows 10/11。老旧的 32 位系统很多新版 MySQL 已经不支持。准备至少 1GB 以上磁盘空间建议剩余空间在 5GB 以上因为后面还要装 Workbench 和建数据。内存建议 4GB 以上。如果只是练习2GB 也能跑但不要同时开太多服务。确认安装路径不要有中文、空格、奇怪符号。比如D:\mysql比D:\软件\MySQL 8安全得多。用管理员身份运行安装程序或命令提示符。很多安装失败不是程序问题而是权限不够。还有一个容易被忽略的点端口 3306 是否被占用。MySQL 默认监听 3306 端口如果你电脑上已经装了其他数据库或者某些软件占了 3306安装后服务可能起不来。检查方法是在命令提示符里执行netstat -ano | findstr :3306如果输出非空说明 3306 已经有人占用。要么换端口要么先处理占用进程。不要等到安装完再排查那时候问题会混在一起很难定位。2. 从官网下载 MySQL 安装包别在中间站乱点2.1 打开官网并进入社区版下载页下载 MySQL 时很多人习惯搜索“mysql下载”然后点进某个第三方站点。第三方站点上的安装包可能并不是官网原封未动的版本有时候还夹带广告和额外软件。更稳的做法是直接去 MySQL 官网。打开官网后找到顶部菜单里的Downloads然后进入MySQL Community (GPL) Downloads这是免费社区版页面。再选择MySQL Community Server这里就是我们要下载的数据库服务端。官网页面经常改版入口名称可能会变成 “MySQL Community Server” 或类似写法但路径基本一致。认准域名里面有mysql.com即可。2.2 选择 Windows 安装包和镜像地址进入 MySQL Community Server 下载页面后页面会显示多个平台的文件。在 Windows 平台下通常能看到两种常见格式Windows (x86, 64-bit), MSI InstallerWindows (x86, 64-bit), ZIP ArchiveMSI 安装包适合直接用向导安装ZIP 压缩包适合手动部署。如果你前面选择了 MSI 方式就点 MSI Installer 后面的下载按钮。如果你在页面里看到多个 MSI 文件优先选带有mysql-installer-community字样的完整离线包不要选web在线版。如果官网下载速度慢可以使用一些知名高校或云厂商开源镜像站。这些镜像站一般会同步 MySQL 官方安装包文件名和官方发布一致。下载后最好核对一下文件大小也可以做一下 SHA256 校验确认文件完整。文件不完整时安装到一半报错非常浪费时间。2.3 下载时跳过登录点击下载按钮之后官网经常跳到一个登录或者注册页面。很多新手看到这里就停住了以为必须注册账号。实际上页面下面有一行小字No thanks, just start my download。直接点这一行浏览器就会开始下载不需要注册。下载完成后先找到文件。常见的安装包名称类似mysql-installer-community-8.x.x.msi体积通常在几百 MB 左右。如果你下载下来只有几十 KB或者文件名后缀不对说明点的可能不是真正的下载链接重新回官网再看一次。下载期间建议不要断网。某些浏览器自带的下载管理可能不支持断点续传中途断了只能重新下载。也可以换用浏览器内置下载稳定优先。3. 使用 MSI 安装包完成 MySQL 安装新手最稳路径3.1 启动安装器选择安装类型双击下载好的 MSI 文件如果 Windows 弹出安全提示选择“仍要运行”。如果你的系统缺少 Microsoft Visual C Redistributable 或其他运行库安装器可能会先提示这种情况下先点击执行安装缺失的依赖再继续。安装器启动后会看到安装类型选择界面Developer Default开发人员默认安装包含 MySQL Server、MySQL Shell、Workbench、各种连接器。适合学习和开发推荐新手选择。Server only只安装数据库服务端界面更简洁适合只需要一个数据库服务的人。Custom自定义选择组件适合有明确需求、不希望装多余组件的人。我一般建议新手选 Developer Default因为 Workbench 是图形化管理工具后面连接数据库、看表结构、执行 SQL 都离不开它。如果你选 Server only之后也可以单独安装 Workbench但多一步操作。点击 Next 后安装器会检查依赖项可能会要求执行一些必要的安装。这里不用太担心跟着提示点 Execute。3.2 设置 root 密码、认证方式和 Windows 服务安装过程中最重要的配置节点是实例配置阶段。先看Type and Networking页面。默认端口是 3306没有特殊需求就保持默认。如果你前面检查时发现 3306 被占用这里可以改成 3307 或 3308但改端口后后面所有连接命令和连接工具都要带上-P参数稍麻烦一点。接下来是Authentication Method这页一定要仔细看。MySQL 8 默认推荐Use Strong Password Encryption对应的是caching_sha2_password。这个选项安全级别更高新项目推荐使用。但如果你的连接工具太旧或者学习视频教你用旧版 Navicat可能会连不上。遇到这种情况可以在安装完成后修改用户认证方式也可以升级客户端。不要因为怕 2059 错误就直接选 Legacy Authentication除非你明确知道旧工具必须用老认证方式。然后设置 root 密码。root 是 MySQL 的超级管理员账号密码一定要设强一点并且放到密码管理工具里保存。很多人在这一步随便填了个简单密码后面连接时又忘了只能卸载重装或重置密码很麻烦。最后设置 Windows 服务。默认服务名可能是MySQL80或类似的名称可以自定义一个容易记住的名字。建议勾选Configure MySQL Server as a Windows Service并勾选开机自动启动。这样以后不用每次手动开服务适合个人开发环境。3.3 执行安装和初始化配置完成后安装器会进入Apply Configuration页面。点击 Execute它会自动做这些事情写入配置文件my.ini初始化数据目录创建系统数据库启动 MySQL 服务整个过程可能需要几分钟。如果某一步失败安装器会显示具体错误。不要直接点 Retry先看一下失败的是哪一步。常见失败点是启动服务失败原因可能是端口占用、目录权限不足或者配置写入有问题。安装完成后点击 Finish 退出。这时候你可以在 Windows 服务管理器里看到刚才设置的 MySQL 服务状态应该是“正在运行”。如果你打开服务时发现没有 MySQL可能是安装时没有勾选 Windows 服务或者安装中断了。这种情况下最简单的做法是重新运行安装器选择 Reconfigure。4. 使用 ZIP 压缩包方式部署 MySQL绿色、可控、适合测试4.1 解压和目录规划ZIP 方式适合已经理解了 MySQL 基本结构的人。整个过程没有图形界面所有操作都在命令行里完成但思路非常清晰。先把下载好的 ZIP 压缩包解压到一个纯英文路径比如D:\mysql\mysql-8.x-winx64。解压后根目录下面会有bin、share、docs等目录。bin目录里放着mysqld.exe和mysql.exe这两个程序后面会用到。注意路径不要有中文和空格否则配置文件解析时容易出问题。如果解压到D:\软件\MySQL这种路径服务启动很可能报错。4.2 编写 my.ini 配置文件ZIP 方式默认没有my.ini需要自己创建。在 MySQL 根目录下新建一个文本文件改名成my.ini用文本编辑器打开写入基础配置。下面是一个适合 Windows 环境的示例配置[mysqld] basedirD:/mysql/mysql-8.x-winx64 datadirD:/mysql/mysql-8.x-winx64/data port3306 character-set-serverutf8mb4 default-storage-engineINNODB [client] default-character-setutf8mb4这里的basedir是 MySQL 解压目录datadir是数据目录建议直接放在 MySQL 根目录下面的data文件夹里。如果这个文件夹不存在后面初始化时可能会创建也可以手动建一个。port默认 3306如果被占用就改掉。character-set-server设为utf8mb4可以避免很多中文乱码问题。保存时注意编码。如果配置文件里有中文注释容易在 Windows 下出现编码问题所以示例里全部用了英文注释。新手可以先不加多余配置等 MySQL 跑起来后再逐步调优化参数。4.3 初始化数据目录打开命令提示符右键选择“以管理员身份运行”然后进入 MySQL 的bin目录cd /d D:\mysql\mysql-8.x-winx64\bin执行初始化命令mysqld --initialize-insecure命令执行完成后data目录下会自动生成系统数据库和文件。--initialize-insecure的含义是初始化数据目录同时创建一个空密码的 root 账号。还有另一个参数是--initialize它会生成一个随机临时密码写在错误日志里。对于本地测试来说--initialize-insecure更方便登录后马上改密码即可。如果初始化命令执行时报错先看提示信息。常见原因是my.ini路径不对、datadir目录权限不足或者端口被占用。不要重复执行初始化因为数据目录一旦生成再执行会冲突。4.4 安装服务、启动并修改密码数据目录初始化后需要把 MySQL 注册成 Windows 服务这样可以用net start命令统一管理。还是在管理员命令提示符的bin目录下执行mysqld --install MySQL --defaults-fileD:\mysql\mysql-8.x-winx64\my.ini命令最后的服务名可以自定义这里用MySQL。如果之前已经装过同名服务会提示服务已存在需要先删除旧服务再安装sc delete MySQL服务安装完成后启动服务net start MySQL启动成功后会看到服务已经启动的提示。然后登录数据库mysql -uroot -p因为初始化时 root 密码为空提示Enter password:时直接按回车即可进入 MySQL 命令行。进去后立即修改密码ALTER USER rootlocalhost IDENTIFIED BY 你自己的密码; FLUSH PRIVILEGES;到这里ZIP 部署方式就完成了。如果你不想把 MySQL 注册成系统服务也可以直接在 bin 目录执行mysqld --console让它在命令行前台运行这样可以看到完整日志适合临时调试。5. 安装后必须做的三个验证服务、端口、命令行5.1 检查服务状态和端口监听安装完成不等于真的能用。我见过太多人明明安装成功却因为连接时端口不对、服务没启动反复怀疑自己操作错了。所以装完后先用三个步骤做验证。第一步打开 Windows 服务管理器。按Win R输入services.msc回车。找到你设置的 MySQL 服务确认状态是“正在运行”。如果状态是“已停止”右键点击启动看是否报错。第二步检查端口监听。打开命令提示符执行netstat -ano | findstr :3306如果看到类似TCP 0.0.0.0:3306 LISTENING的输出说明 MySQL 正在 3306 端口上正常工作。LISTENING后面的数字是进程 PID可以在任务管理器中查看是不是mysqld.exe。如果服务已经启动但端口里没有 3306很可能是你的配置里改了端口号。这种情况下连接命令必须显式指定端口比如mysql -uroot -p -P3307。5.2 用命令行连接并执行基础 SQL第二步用命令行连接 MySQL确认客户端可以和服务端通信。mysql -uroot -p输入密码后如果进入mysql提示符说明连接成功。接着执行select version(); show databases;正常情况下会看到类似这样的系统数据库information_schemamysqlperformance_schemasys能看到这些库就说明 MySQL 核心功能正常。这时候可以顺手建一个测试库确认写入权限没问题create database testdb default character set utf8mb4;然后执行show create database testdb;如果能看到DEFAULT CHARACTER SET utf8mb4说明字符集设置也正常。5.3 用 MySQL Workbench 连接第三步打开 MySQL Workbench点击主界面的数据库连接图标新建连接。连接参数一般这样填Connection Name自己起个名字比如 Local MySQLHostname127.0.0.1Port3306Usernameroot填好后点击Test Connection输入 root 密码。如果提示连接成功点击 OK 保存即可。Workbench 连接成功后左侧 SCHEMAS 区域会看到系统数据库和你刚才创建的testdb。双击某个库就可以查看表、执行 SQL、导入导出数据。对新手来说Workbench 比纯命令行友好得多学习初期可以把它当成主力工具。6. 常见报错与排查顺序从日志到配置6.1 服务启动失败先看日志再查配置MySQL 安装后最常遇到的错误是“服务启动失败”或“服务没有响应控制功能”。遇到这种问题不要急着卸载重装。先按下面的顺序排查。第一步看错误日志。ZIP 方式部署时错误日志一般位于data目录下文件名类似主机名.err。用记事本打开拉到文件最后看最新几行错误信息。MSI 方式安装时错误日志的位置可能在安装目录的 data 目录或者在ProgramData\MySQL下面。第二步确认my.ini配置是否合理。重点检查basedir、datadir路径是否存在port是否被占用。如果配置里写了skip-grant-tables也会导致服务启动后行为异常新手不要随便加这个参数。第三步确认目录权限。如果你把数据目录放在D:\盘某个自定义目录下服务账号可能没有访问权限。可以先把数据目录放到默认的ProgramData或 MySQL 根目录下排除权限问题。6.2 客户端连接报 2059 错误认证插件不兼容很多人在安装后使用 Navicat 或旧版 Workbench 连接 MySQL 8会报这样的错误Authentication plugin caching_sha2_password cannot be loaded或者提示2059 - Authentication plugin ...。这个问题的本质是客户端版本太老不认识 MySQL 8 的默认认证插件。解决办法有两个方向。方向一升级客户端。把 Navicat、JDBC 驱动、Workbench 升级到支持caching_sha2_password的版本。这是最推荐的做法不用修改数据库配置安全性也更好。方向二本地学习环境中如果你暂时不想升级工具可以把 root 用户的认证方式改回mysql_native_password。在 MySQL 命令行中执行ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密码; FLUSH PRIVILEGES;这条语句的意思是把 root 用户的密码加密方式改成旧版插件。改完后旧客户端就可以连接了。需要注意的是这只适合本地开发环境生产环境建议保持默认认证方式并通过升级客户端解决兼容问题。6.3 端口被占用、路径中文、权限不足导致的问题端口被占用是安装时的常见坑。如果你在安装时提示端口被占用可以通过netstat -ano | findstr :3306找到占用进程。先确认这个进程是不是必须保留的如果不是可以结束掉如果必须保留就换一个 MySQL 端口。路径中文的问题往往出现在 ZIP 方式部署中。比如解压目录是D:\软件\mysql-8\初始化或启动时可能报找不到目录或无法加载配置。这是因为 Windows 环境下中文路径和程序参数的编码处理容易出问题。最稳妥的办法是解压到D:\mysql\这种纯英文路径。权限不足的问题通常表现为安装服务失败、启动服务失败、无法写入 data 目录。解决方法是右键命令提示符选择“以管理员身份运行”如果是 MSI 安装包也右键选择“以管理员身份运行”。不要只在普通用户窗口执行mysqld --install你会看到 Access denied。6.4 想重装时如何干净卸载如果你安装过程中已经把环境搞乱了与其硬修不如干净地卸载重装。但卸载不是直接删除程序目录。正确顺序是停止服务net stop MySQL删除服务mysqld --remove MySQL通过控制面板或安装器卸载 MySQL 程序手动删除安装目录和数据目录比如D:\mysql\mysql-8.x-winx64和C:\ProgramData\MySQL重新启动电脑后再安装第 4 步很重要。很多人卸载后重装发现还是原来的配置就是因为ProgramData下的数据目录没有删干净。数据目录里保存着旧的系统库和用户表直接删除可以避免新实例和旧数据冲突。如果你有重要数据提前备份不要手滑删错。最后留几个我自己的习惯安装 MySQL 这件事真正落地时最该盯住的不是功能列表而是路径、端口、认证方式和日志。先跑通 MSI 方式理解 Windows 服务是怎么注册的再用 ZIP 方式试一次你就能明白初始化、数据目录、配置文件的角色。低配机器也能装 MySQL但不要同时开 Workbench、浏览器、编辑器、数据库多个大软件跑批量和复杂查询时会明显吃力。装完之后不要急着写业务代码。先做一遍服务状态、端口监听、命令行登录、Workbench 连接这四个基础验证。基础环境稳定了后面学 SQL、调连接池、做项目都会顺很多。踩过几次坑后你会发现很多问题不是 MySQL 能力不够而是前置环境没有处理干净。
返回列表