后台收到不少问 MySQL 8.0 在 Windows 上怎么安装配置的消息。说实话,MySQL 8.0 的安装本身并不难,难的是旧环境没清干净、初始化方式选错、新认证插件和旧客户端不兼容这三件事,十个人里至少有八个会栽在这些地方。这篇文章不绕弯子,直接带你走一遍完整可复现的流程:下载解压、写 my.ini、初始化数据目录、注册 Windows 服务、改密码、调字符集、开远程权限,最后把几个高频报错和重置密码的思路一起收拾干净。适合第一次在 Windows 装 MySQL 8.0 的新手,也很适合从 5.7 或 MariaDB 切过来的老用户对照清理一次环境。
1. 装之前先判断:你的环境是“全新安装”还是“原地替换”
很多人打开教程就开始下载安装,结果装到一半忽然卡住:端口被占用、服务名冲突、root 登录不上、旧数据找不回来。这些问题的根源基本都在安装前没有评估好自己的环境究竟属于哪种情况。
1.1 MySQL 8.0 的默认字符集和认证插件改革,直接影响安装策略
MySQL 8.0 相比 5.7 有两个非常重要的变化,你必须在装之前就有心理准备。
第一,默认字符集从 latin1 彻底改成了 utf8mb4。听起来是好事,没错,utf8mb4 确实能完整支持中文、Emoji 以及各种生僻字,这也解决了老版本建库忘设字符集导致的中文乱码问题。但问题在于,如果你的旧库是 5.7 时代用 latin1 或 utf8mb3 创建的,直接用新版本去打开,字符集继承关系会和以前不一样,可能出现排序规则冲突。所以强烈推荐在配置文件里显式写清楚 character-set-server=utf8mb4,而不是赌默认值。
第二,默认认证插件从 mysql_native_password 换成了 caching_sha2_password。这是更安全的密码哈希方式,但也因此带来了兼容性灾难:很多老版本客户端、老 JDBC 驱动、2018 年之前发布的图形化工具,在连接 MySQL 8.0 时会直接报出 Authentication plugin 'caching_sha2_password' cannot be loaded 或者 Public Key Retrieval is not allowed。这不是你密码输错了,而是协议不支持。
我见过太多人装完 MySQL 8.0 后,打开一个旧版 Navicat 或者老项目连库,弹出一串认证错误,第一反应是卸载重装、折腾半天。实际上你只需要做一件事:要么把客户端升级到支持 caching_sha2_password 的版本,要么把指定账号降级回 mysql_native_password。后面第 5 章我会专门讲怎么做。
1.2 你是“全新安装”还是“5.x 原地替换”
这个判断决定了整个安装流程的起点。
如果是全新安装,电脑上从来没有装过 MySQL,那最简单,直接从第 3 章开始看。
如果电脑上以前装过 MySQL 5.x、MariaDB 或者其他分支版本,强烈不建议直接在旧环境上覆盖安
