ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

保姆级教程:Windows下MySQL 9.1.0安装全流程解析

保姆级教程:Windows下MySQL 9.1.0安装全流程解析 MySQL 9.1.0 发布之后这段时间经常有人来问我同一个问题不是问它跟 8.4 LTS 到底差多少而是问“怎么装”。也确实MySQL 官网的下载页对新手来说就是一本天书一堆版本号横七竖八地排在那里下面还有 ZIP 和 MSI 两种格式点进去之后安装向导又是几十个选项每一步都让人犹豫半天。今天这篇就把 MySQL 9.1.0 安装这件事从头到尾拆开按我平时帮人远程调试的真实顺序来写。不搞花活每个步骤、每个选项都给到具体解释照做基本能一次成功装完能立刻连上数据库跑 SQL。这篇教程适合完全没装过 MySQL 的新手也适合之前装过 5.7 / 8.0 想换新版本的人照着操作就行。1. 装之前先搞懂这三点后面少走弯路1.1 MySQL 9.1.0 是什么版本为什么新手也能放心用很多人看到 9.1.0 第一反应是“是不是测试版”——不是。MySQL 9.1.0 属于 Innovation创新版发布系列和 8.4 LTS长期支持版是并行存在的两条线。创新版的迭代节奏更快官方会把新特性、新功能先放进来方便开发者尝鲜和验证LTS 则更保守适合已经有存量业务、追求稳定运行的生产环境。对新手来说单机学习、本地开发、写毕业设计、搭个人博客用 9.1.0 完全没问题因为你要用到的基础功能在 9 系列和 8.4 上基本一致而且 9 系列的很多默认行为更合理比如对 utf8mb4 字符集的支持更彻底以前老版本要手动配置的一些东西现在都是默认值。不过有一点要提醒你如果你的公司明确要求生产环境必须使用 LTS那就老老实实用 8.4.x个人学习环境装 9.1.0 不影响你后续迁移到 LTS。这个教程虽然以 9.1.0 为例但安装步骤和配置逻辑同样适用于 8.4 和 8.0 系列你只要在下载页选对应版本后面操作基本一致。1.2 MSI 安装器和 ZIP 压缩包到底选哪个MySQL 在 Windows 下有两条主流安装路线一条是官网提供的 MSI Installer图形化向导安装程序全程点鼠标另一条是 ZIP Archive下载一个压缩包解压后手工初始化数据目录、手动注册 Windows 服务。这次的保姆级教程我明确推荐你用 MSI原因非常直接新手阶段要尽量减少命令行操作。MSI 安装器把依赖检测、目录创建、root 密码设置、参数文件生成、Windows 服务注册这些事情一次性做完每一步都有界面提示装坏了也容易知道是哪一步出的问题。ZIP 方式也不是不好它更接近 Linux 下“解压即用”的思路适合以后做批量部署、脚本化安装的场景但第一次装 MySQL 就选 ZIP 纯属给自己上强度——路径写错、依赖缺失、服务起不来任何一个问题都够新手折腾半天的。我的建议是第一次老老实实用 MSI 装装完再回头去看安装器到底帮你做了哪些事把原理弄懂了以后想换 ZIP 方式就是水到渠成的事。1.3 先检查你的 Windows 环境装 MySQL 之前先花两分钟确认这几件事能省掉后面 90% 的排错时间。第一操作系统版本。MySQL 9.1.0 的 Windows 版要求 64 位系统Windows 10、Windows 11、Windows Server 2019/2022 都没问题32 位系统就别折腾了换老版本也不推荐现在新版本基本都放弃 32 位了。第二内存和磁盘。开发机 4GB 内存以上就行磁盘留出至少 2GB 空间给安装包和数据目录实际上 MySQL 本体加系统库不会特别大但数据会一直涨别把数据目录放在只剩几百 MB 的盘上。第三VC 运行库。很多 MySQL 启动报错“找不到 MSVCR120.dll”或“VCRUNTIME140.dll”根源就是系统里缺 Visual C Redistributable建议提前装好 2015-2022 版合集一劳永逸。第四检查有没有装过旧版 MySQL。如果以前装过 5.x 或 8.x先把旧服务停掉、卸载干净避免端口和服务名冲突。提示如果机器上有 Docker Desktop里面又跑着映射到 3306 端口的 MySQL 容器也要先停掉否则后面安装向导检查端口时会直接报占用。2. 下载安装包只认官方源文件校验别跳过2.1 官网下载入口怎么找下载地址直接记官方域名dev.mysql.com/downloads/mysql/不要用搜索引擎搜出来的第三方下载站。第三方站点经常打包旧版本、捆绑垃圾软件甚至篡改安装包这是安全红线。进入官方页面后你会看到一个大表格列出当前所有可下载的 MySQL 版本包括 9.1.0、8.4.x、8.0.x 等。操作系统那一列先选Windows然后在下面找Windows (x86, 64-bit), MSI Installer这一行点击右侧的 Download 按钮。进去之后会让你选择登录 Oracle 账号别被这一步吓到页面底部有“No thanks, just start my download”的链接点它就能直接下载不需要注册账号。下载到的文件名一般是mysql-9.1.0-winx64.msi大小大约 200 多 MB。如果你看到的是.zip结尾说明点错了回去重新选 MSI Installer 那个版本。另外注意区分x86, 64-bit和ARM普通 Intel/AMD 电脑选前者ARM 版只适用于少数 ARM Windows 设备。2.2 下载前把四个关键信息提前想好安装向导里会让你设置很多参数新手最容易在这一步卡住不是因为难而是因为没提前想好现场看到选项就懵。我建议下载完安装包先别急着双击花两分钟把下面四个信息定下来安装路径建议别放 C 盘系统盘可以放D:\MySQL\MySQL Server 9.1路径里不要有中文也不要有特殊符号。端口号默认是 3306除非你确认 3306 被占用了否则不要改。改端口意味着以后所有连接命令和连接字符串都要带端口号很麻烦。root 密码MySQL 9 默认密码策略要求至少 8 位且包含大小写字母、数字和特殊字符。比如Root2025MySQL这种强度就是合格的。千万别设成123456后面装完想改还得走密码重置流程。是否需要远程连接如果只是本机开发保持默认即可如果将来要允许其他电脑连接安装时就要记住 root 账号默认只允许本机登录远程访问需要额外配置。把这些信息写在纸上也好、记在备忘录里也好安装的时候对照着填就不会手忙脚乱。2.3 校验下载文件别跳过这一步下载完成后一定要校验文件完整性。官方下载页的每个安装包旁边一般会提供 SHA256 校验值你可以打开 PowerShell执行下面这段命令计算已下载文件的哈希值Get-FileHash -Path D:\Downloads\mysql-9.1.0-winx64.msi -Algorithm SHA256然后把输出值和官网给出的校验值做对比。两者一致说明文件下载完整、没被篡改不一致就重新下载不要贸然安装。这一步听起来麻烦实际一分钟都用不到但能避免很多潜在问题。我自己帮人远程排查时遇到过多次“下载文件损坏导致安装一半报错”的情况最后都归到校验这一步没做。3. 开始安装MSI 向导逐屏拆解3.1 Choosing a Setup Type安装类型怎么选双击下载好的.msi文件如果系统提示需要安装 .NET 相关组件直接同意即可这是 MySQL Installer 的运行依赖装完会自动继续。进入安装向导首页后你会看到几种安装类型安装类型包含内容适合场景Developer DefaultMySQL Server、Shell、Router、Workbench、连接器、文档等开发者个人电脑想一次配齐常用工具Server only只装 MySQL 数据库服务端只需要数据库其他工具自己另装Client only只装连接工具和客户端库远程连别人机器上的 MySQL本机不装服务Full几乎所有组件资源充足的服务器或不介意多占空间Custom自定义选择组件有经验的人按需勾选如果你是第一次装我推荐 Direct 的开发者默认也就是 Developer Default。它会一起装 MySQL Shell、MySQL Workbench 这些配套工具后面图形化和命令行都能用省事。如果你只想尽快把数据库跑起来选 Server only 也完全可以少装几个组件少占点空间。Custom 留给有基础的人新手不建议进去乱选容易漏掉关键组件导致后面启动异常。3.2 功能选择与安装路径选完安装类型之后安装器会列出将要安装的组件清单。这里有一个按钮是“Advanced”点进去可以修改安装路径和数据目录。官方默认路径是C:\Program Files\MySQL\MySQL Server 9.1\数据目录默认在C:\ProgramData\MySQL\MySQL Server 9.1\Data\。如果你在第 2.2 节已经决定用 D 盘就在 Advanced 里把安装目录改成D:\MySQL\MySQL Server 9.1把数据目录改成D:\MySQL\Data之类的位置。需要注意安装目录和数据目录可以是两个地方数据目录以后会越涨越大建议放到空间充足的盘。路径千万别带中文。虽然现代 MySQL 对中文路径的兼容性有所改善但后续配置环境变量、写脚本、做备份迁移时中文路径会带来很多莫名其妙的问题。除此之外路径里也不要带空格尤其是不建议用Program Files这种默认路径——虽然官方默认就是带空格的路径但在命令行和脚本里总要加引号对新手很不友好。能避开就避开。3.3 High Availability 与端口网络配置组件安装完毕之后进入 MySQL Server 配置页面。第一个选择是 High Availability选项有 Standalone MySQL Server独立服务器、InnoDB Replica副本、InnoDB Cluster集群。单机学习、本地开发选第一个 Standalone 即可集群方案涉及多台机器、数据同步和故障切换不是现在要考虑的事。接着是 Type and Networking。Config Type 有三个选项Development Machine开发机、Server Machine服务器、Dedicated Machine专用数据库服务器。这个选项会影响 MySQL 默认占用的内存大小开发机选 Development MachineMySQL 会自动限制内存占用避免和你本机的浏览器、IDE 抢资源。端口设置保持默认 3306。旁边有一个 “Open Windows Firewall ports for network access” 勾选项如果你以后可能需要从局域网其他电脑连这台数据库就勾上安装时会自动添加防火墙放行规则如果只是本机使用不勾也行后面需要时再添加防火墙规则也来得及。下面还有一个 X Protocol 端口默认 33060。这是 MySQL 8.0 开始引入的新协议端口供 MySQL Shell、X DevAPI 使用。对大多数人来说用不上但也不用特意关掉保持默认就可以它不影响 3306 端口的正常连接。3.4 认证方式与密码设置到了 Authentication Method 这个界面新手往往会一头雾水。这里两个选项是Use Strong Password Encryption for Authentication推荐选项使用新的caching_sha2_password认证插件安全性更高。Use Legacy Authentication兼容旧版本mysql_native_password给一些古老的应用和驱动用的。绝大多数场景选第一个 Strong Password 就对了。只有当你连完 MySQL 后发现某老软件报认证错误才考虑改回 Legacy。MySQL 8.0 之后官方一直强推强认证9.1.0 更是如此没必要为了一个老驱动拖累整体安全性。接着设置 root 账号密码。root 是数据库的超级管理员密码务必按第 2.2 节约定好的复杂密码填两次输入要一致。下面还可以创建额外用户这里可以先跳过装完之后用 SQL 命令创建业务账号更灵活。3.5 Windows 服务与启动账户接下来是 Windows Service 配置页面。这里有几个勾选项Configure MySQL Server as a Windows Service一定要勾安装器会把 MySQL 注册成一个 Windows 服务以后可以用net start MySQL91、net stop MySQL91控制数据库启停。服务名默认是MySQL91可以自定义最好保持默认后面命令和脚本都统一用这个名字。Startup Type选 Automatic自动这样系统开机时 MySQL 会自动启动省得每次手动开。如果你希望手动控制可以选 Manual。服务运行账户一般选默认的 Standard System Account 即可这是 Windows 给服务提供的专用账户权限已经足够 MySQL 运行。不要图省事去选一个普通用户账户也不要改成 Administrator否则将来系统密码改了或账户被禁用MySQL 服务会直接起不来。3.6 Apply Configuration 阶段怎么看所有参数填完安装器会进入 Apply Configuration 页面列出接下来要执行的配置动作包括写配置文件、初始化数据目录、更新防火墙规则、启动服务、应用安全设置等。点击 Execute安装器会一条一条执行每执行成功一条状态列会变成 Complete。这个阶段最常出现的失败点就是“Start Service”这一步。如果你到这里看到红色叉号别慌先把弹出来的日志窗口截图或者复制下来停止安装过程按第 5 章的方法排查多半是端口占用、运行库缺失、数据目录权限问题。也有时候不是真失败仅仅是服务启动慢可以点几次 Retry 试试但不要无限重试连续失败三次就老老实实查日志。全部步骤完成之后页面会提示 FinishMySQL 9.1.0 的安装和配置到这里就结束了。4. 安装完成后验证环境别急着写代码4.1 确认服务真的启动了安装完第一件事不是去百度“怎么连接 MySQL”而是先确认服务还在跑。最简单的方式是打开 Windows 服务管理器按Win R输入services.msc回车找到服务名为MySQL91的那一行看状态是不是“正在运行”。如果显示“已停止”右键点启动即可。也可以用命令行确认net start这个命令会列出所有已启动的 Windows 服务在输出里找MySQL91。如果服务没启动执行net start MySQL91看看系统给什么报错。这一步确认完数据库才算是真正在你的电脑上安家落户了。4.2 命令行登录 MySQL服务启动后打开一个命令行窗口进入 MySQL 的 bin 目录cd D:\MySQL\MySQL Server 9.1\bin然后执行mysql -uroot -p系统会提示输入密码输入你在第 3.4 节设置的 root 密码注意输入时屏幕上不会显示任何字符。登录成功后你会看到一个mysql提示符执行SELECT VERSION();如果输出9.1.0说明安装完全正常。再执行一句SHOW DATABASES;能看到information_schema、mysql、performance_schema、sys这些系统库也是正常的标志。看到这里安装算真正成功了。4.3 配置 PATH 环境变量每次要先进 bin 目录才能执行 mysql 命令太麻烦。把 bin 目录加进系统 PATH以后在任何位置敲mysql都能直接连接。操作路径右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 在“系统变量”列表里找到Path→ 编辑 → 新建 → 把D:\MySQL\MySQL Server 9.1\bin加进去 → 一路确定保存。注意要重新打开一个命令行窗口环境变量才能生效。加完之后任意路径下执行mysql --version能输出版本号就说明配置好了。这是日常使用最舒服的一种状态不用记路径不用 cd打开终端直接干活。4.4 重启后的自启确认既然第 3.5 节把服务启动类型设成了 Automatic系统重启之后 MySQL 应该自动运行。很多人装完当天一切正常第二天开机发现连不上十有八九是启动类型没设对或者被安全软件禁用了开机自启。验证方式很简单重启电脑直接打开命令行执行mysql -uroot -p如果不需要手动开服务就能连上说明自启没问题。如果连不上再开服务管理器看 MySQL91 是不是停止了。另外有些电脑的安全软件会拦截 MySQL 服务开机自启把它加入信任列表即可。我个人的习惯是装完数据库顺手重启一次用真实重启来测试自启比什么都可靠。5. 新手必看常见问题排查实录5.1 服务启动失败怎么定位这是安装过程中出现频率最高的问题。服务启动失败的报错通常有两类一类是在安装向导的 Apply Configuration 阶段直接显示 Start Service 失败另一类是装好以后用net start MySQL91报“服务无法启动”。先看 Windows 事件查看器Win R输入eventvwr.msc进入 Windows 日志 → 系统找来源为MySQL的错误记录双击能看到详细错误信息。这是排查的第一手资料。常见原因包括数据目录权限不对MySQL 服务账户无法写入、my.ini 配置参数写错、端口被占用、VC 运行库缺失、磁盘空间不足等。也可以手动尝试启动服务并观察net start MySQL91如果报错就去 MySQL 安装目录下的data文件夹看有没有.err日志文件打开它搜索ERROR关键词里面通常会直接写明失败原因。这条日志非常重要比任何网上教程都准确我把这个习惯称为“先看日志再搜索”能少走很多弯路。5.2 3306 端口被占用安装时检测到端口占用或者启动后连接时报Cant connect to MySQL server on localhost (10061)大概率是端口冲突。先查端口netstat -ano | findstr :3306看输出结果的 PID 列再用任务管理器确认是哪个程序占用了 3306。如果占用者确实是旧版 MySQL把旧服务停掉并卸载如果是其他软件可以在 my.ini 里把 MySQL 端口改成 3307 或者其他空闲端口然后重启服务。改端口后所有连接都要带新端口比如mysql -uroot -p -P 3307所以能不加端口就尽量不加端口目标尽量保持 3306 不动。5.3 root 密码忘了重置流程忘记 root 密码不用重装数据库。先停止 MySQL 服务net stop MySQL91然后编辑 my.ini 文件路径一般在C:\ProgramData\MySQL\MySQL Server 9.1\my.ini或你安装时的数据目录下。在[mysqld]段落下加一行skip-grant-tables保存后重新启动服务net start MySQL91再执行mysql -uroot不需要密码就能进入。此时执行FLUSH PRIVILEGES; ALTER USER rootlocalhost IDENTIFIED BY 新密码;注意 MySQL 9 的密码策略默认比较严格新密码至少 8 位且包含大小写、数字和特殊字符。如果提示密码不符合要求就换一个更复杂的密码。重置完成后一定要把 my.ini 里的skip-grant-tables那一行删掉再重启服务否则数据库处于不设防状态非常危险。提示跳过授权表模式只用于紧急找回密码不要让它长期存在于 my.ini 里。期间数据库没有任何访问控制务必在重置完密码后立刻删除配置并重启。5.4 中文乱码问题MySQL 9 系列的默认字符集是utf8mb4比老版本先进很多一般不会出现乱码。如果你在客户端工具里看到的还是乱码先检查连接是否指定了字符集。以命令行连接为例mysql -uroot -p --default-character-setutf8mb4如果用的是 Java 的连接池连接 URL 后面加?useUnicodetruecharacterEncodingutf8如果乱码出现在已存在的表里可能是当初建表时用了latin1或其他老字符集需要把表和字段转成utf8mb4。我的建议是从建库开始就直接执行CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;后面所有表继承这个字符集从源头杜绝乱码。5.5 其他报错速查报错信息常见原因解决办法mysql 不是内部或外部命令未配置 PATH 环境变量按第 4.3 节添加 bin 目录Access denied for user rootlocalhost密码错误重置密码或确认输入无误MSVCR120.dll / VCRUNTIME140.dll 缺失缺 VC 运行库安装 Visual C RedistributableCant connect to MySQL server (10061)服务未启动或端口不对确认服务运行、端口正确Table doesnt exist连接到了错误的库检查是否漏了 USE 数据库名这张表是很多新手反复踩的坑建议收藏。如果遇到的问题不在表里依然遵循“先看错误日志再针对性搜索”的原则不要漫无目的地到处找教程。6. 个人经验分享装完只是开始6.1 安装信息随手记录别靠脑子装完 MySQL 之后我强烈建议你把这次安装的关键信息记下来存到备忘录或密码管理器里版本号、安装路径、数据目录、端口号、服务名、root 密码、配置时间。听起来像个形式主义但真正遇到问题是真救命。我以前帮朋友排查过一个数据库就是因为他忘了自己当时把端口改成了 3307连接调试了半个多小时都在 3306 上纠结。装完当天花两分钟记几个字段三个月后就能少折腾一小时。另外root 密码不要直接写在明文文本里随便放桌面。Windows 上可以用系统自带的“凭据管理器”保存或者直接用主流密码管理器。数据库凭据属于最高级别的敏感信息现在网络扫描机器人遍地都是一个弱密码的数据库暴露在网络上几分钟内就可能被爆破。6.2 装完之后我建议你马上做的三件事第一创建一个日常业务账号别直接用 root 写业务代码。root 权限太大一旦应用被注入或者连接串泄露整个数据库都会沦陷。业务账号只给它该有的库和表权限CREATE USER app_userlocalhost IDENTIFIED BY App2025MySQL; GRANT ALL PRIVILEGES ON mydb.* TO app_userlocalhost; FLUSH PRIVILEGES;第二确认数据目录所在磁盘空间充足并顺手做一次全量备份测试。很多人以为备份就是把 data 目录复制一份但在服务运行状态下直接复制很容易备份出一份损坏的库。正确姿势是用mysqldumpmysqldump -uroot -p --all-databases D:\backup\mysql_all_$(date %Y%m%d).sqlWindows 的批处理脚本里写日期记得用%date%。备份这件事现在不练等真出事再练就来不及了。第三检查防火墙规则。如果安装时勾选了自动添加防火墙端口确认一下放行范围。如果是公网云服务器3306 端口不要对0.0.0.0开放只放行你日常使用的那几个 IP 段。如果不是必须远程访问就把入站规则直接删掉本机连接完全不受影响。6.3 关于版本选择再唠叨一句写这篇教程的时候我最上面提到了 LTS 和 Innovation 版本的选择。有人可能会问那我装 9.1.0 学的东西到公司项目里用的 8.4 能直接用吗答案是绝大多数能基础 SQL、索引、事务、存储引擎这些核心内容没有变化。9 系列的变化主要集中在新特性和一些默认行为上你脑子里建立的知识模型不会白学。我个人的习惯是自己学习和做原型项目用最新的 Innovation 版本体验新特性帮客户部署生产环境严格按对方规范选择版本生产要的就是“稳”字。MySQL 换版本没有想象中可怕只要安装流程和运维习惯是健康的后续升级也只是再走一遍安装流程、做个数据迁移而已。希望这篇教程能帮你顺利跑通 MySQL 9.1.0也祝你后面写 SQL 一路顺手。
返回列表