首页 > 生活百科 >

问 mysql8 安装教程教学详解 Windows 版本完整部署

2026-11-09 18:19:20
最佳答案

答

MySQL8 和老版本 MySQL5.7 安装差别比较大,最核心变化就是默认认证插件改成 caching_sha2_password,很多老客户端比如 Navicat 旧版本连接会报错,这个是安装之后最容易踩坑的点。本教程采用免安装压缩包方式,也是学习 JavaWeb、MyBatis 项目最常用的方式,不需要图形化安装向导,手动配置 my.ini,初始化数据库,注册 Windows 系统服务,全程命令行操作,适合 MyEclipse IDEA 开发环境配套使用。如果你想图形化安装,也可以下载 MSI 安装包,原理大同小异,本教程优先讲解压缩包版本,灵活度更高。

安装前准备清单

1 官网下载 mysql-8.0.x-winx64.zip 压缩包

2 电脑是 64 位 Windows 系统,Win10 Win11 都支持

3 记住安装路径,路径不要带中文空格,推荐 D:\mysql\mysql-8.0

4 提前卸载旧版本 MySQL,避免端口 3306 冲突

详细安装步骤

第一步 解压压缩包

把 zip 包解压到纯英文目录,不要放在桌面中文文件夹,解压之后目录里面有 bin 文件夹,里面存放 mysql.exe mysqld.exe 核心程序

第二步 新建配置文件 my.ini

在 mysql 根目录新建 my.ini,写入基础配置

[mysqld]

端口号

port=3306

mysql根目录

basedir=D:/mysql/mysql-8.0

数据目录

datadir=D:/mysql/mysql-8.0/data

字符集

character-set-server=utf8mb4

default-storage-engine=INNODB

重点:路径使用斜杠 /,不要用反斜杠,utf8mb4 是 MySQL8 推荐字符集,支持 emoji,不要再用旧 utf8

第三步 管理员打开 CMD 命令提示符

一定要右键以管理员身份运行 CMD,否则注册服务会权限报错

切换目录到 bin 文件夹

cd D:\mysql\mysql-8.0\bin

第四步 初始化数据库

执行初始化命令,会自动生成 data 文件夹

mysqld --initialize --console

执行完成之后控制台会打印临时 root 密码,一定要复制保存这个临时密码,后面登录要用,丢失只能删除 data 目录重新初始化

第五步 注册 MySQL 系统服务

mysqld --install MySQL8

提示 Service successfully installed 代表注册成功

第六步 启动 MySQL 服务

net start MySQL8

第七步 登录 MySQL 并且修改 root 密码

mysql -u root -p

输入刚才保存的临时密码,登录成功之后执行修改密码语句

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '你的新密码';

如果需要兼容旧 Navicat,可以改成 mysql_native_password 认证插件

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';

第八步 验证安装成功

执行

select version();

能正常输出版本号,代表 mysql8 安装完成

常用管理命令对照表

命令作用
net start MySQL8启动 mysql8 服务
net stop MySQL8停止 mysql8 服务
mysqld --remove MySQL8卸载 mysql8 系统服务
mysql -u root -p登录 mysql8

高频踩坑点清单

1 没有管理员权限运行 CMD,注册服务失败

2 my.ini 路径中文或者空格,初始化报错

3 初始化临时密码没有保存,后续无法登录

4 3306 端口被占用,旧 MySQL 或者其他软件占用端口,需要改 my.ini 里面 port

5 旧版 Navicat 连接 mysql8 报错,就是认证插件不兼容,改成 mysql_native_password

6 data 文件夹已经存在,再次 initialize 会报错,初始化前 data 目录必须是空的

补充 MSI 图形安装包方式简要说明

如果选择 MSI 安装包,双击下一步,选择 Server only,设置 root 密码,勾选开机自启,向导会自动初始化和注册服务,优点简单,缺点自定义配置不如压缩包灵活。

学习配套建议

mysql8 安装完成之后,就可以搭配 IDEA MyEclipse JDBC MyBatis SSM 项目开发,JDBC 连接 url 写法要带上时区参数

jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useSSL=false

MySQL8 必须增加 serverTimezone 时区参数,不然 JDBC 连接直接报错,这个是 Java 开发高频坑。

【常见问题】

问题 1 mysql8 初始化之后临时密码找不到怎么办

回答 1 mysql8 初始化临时密码丢失,需要停止服务,删除整个 data 文件夹,重新执行 mysqld --initialize --console 重新生成临时密码。

问题 2 mysql8 启动提示 3306 端口被占用怎么解决

回答 1 mysql8 端口占用,可以打开 my.ini 修改 port 改成 3307,或者找到占用 3306 的进程关闭,然后重启 mysql8 服务。

问题 3 Navicat 连接 mysql8 报错插件不兼容

回答 1 mysql8 默认是 caching_sha2_password,旧 Navicat 不支持,执行 sql 改成 mysql_native_password 认证插件即可解决 mysql8 连接报错。

问题 4 mysql8 和 mysql5.7 可以同时安装吗

回答 3 mysql8 和 mysql5.7 可以共存,但是必须使用不同端口,比如 mysql5.7 用 3306,mysql8 使用 3307,并且注册不同名称系统服务。

【免责申明】

本教程为 Windows 平台 MySQL8.0 通用安装教学,不同小版本参数可能存在细微差异,生产环境部署请参考官方文档,生产环境不要直接使用 root 远程开放权限,注意安全加固。