Win10/11 MySQL 8.0.12 压缩版(ZIP)完整安装配置指南
纯手动、无捆绑、最干净的安装方式,解决路径报错、依赖缺失等常见问题,新手可直接跟随操作。
一、安装前准备
1. 下载安装包
-
官方下载(推荐):
打开 MySQL 历史版本下载页,按以下条件筛选:
-
Product Version:选择
8.0.12 -
Operating System:选择
Microsoft Windows -
OS Version:选择
Windows (x86, 64-bit), ZIP Archive


-
点击
Download,跳过注册直接下载(No thanks, just start my download)。 -
国内镜像(速度更快):
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/,找到
mysql-8.0.12-winx64.zip下载。
2. 解压文件(关键避坑)
-
解压到 无中文、无空格、无特殊字符 的路径(否则会导致初始化失败),示例路径:
D:\soft_dev\mysql-8.0.12-winx64 -
解压后目录结构:
根目录包含
bin、docs、include等文件夹,后续所有操作均基于此根目录。
3. 安装依赖(必装,否则报错)
MySQL 8.0 依赖 Visual C++ 2015-2022 运行库(x64 版本) ,缺失会导致 MSVCP140.dll 等报错:
- 官方下载链接:https://learn.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist?view=msvc-170
- 下载并安装
vc_redist.x64.exe,安装后无需重启(若已安装可跳过)。
二、核心配置:创建 my.ini 文件
1. 新建配置文件
在 MySQL 根目录(与 bin 文件夹同级),新建 文本文档 ,重命名为 my.ini(注意:后缀名必须是 .ini,不是 .txt)。
2. 完整配置内容(直接复制替换)
[mysqld]
port=3306
# 👇 这里必须是双反斜杠 \\ 或者 单反斜杠 \,绝对不能丢!
basedir=D:\\soft_dev\\mysql-8.0.12-winx64
datadir=D:\\soft_dev\\mysql-8.0.12-winx64\\data
max_connections=200
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
⚠️ 关键注意:
basedir和datadir必须是你的实际解压路径,双反斜杠\\避免路径解析丢失(如D:\\soft_dev\\...);
- 无需手动创建
data文件夹,初始化命令会自动生成。
三、配置环境变量(全局调用 mysql 命令)
1. 打开环境变量设置
- 此电脑 → 右键「属性」→ 「高级系统设置」→ 「环境变量」。
2. 新建系统变量 MYSQL_HOME
-
在「系统变量」区域点击「新建」:
-
变量名:
MYSQL_HOME -
变量值:
D:\soft_dev\mysql-8.0.12-winx64(你的解压根目录)
3. 编辑 Path 变量
-
在「系统变量」中找到
Path,点击「编辑」→ 「新建」,添加:%MYSQL_HOME%\bin -
点击「确定」保存所有设置(需关闭已打开的 CMD 窗口,环境变量才生效)。
四、安装与初始化 MySQL(管理员 CMD 执行)
1. 打开管理员命令提示符
- 开始菜单搜索
cmd→ 右键「命令提示符」→ 「以管理员身份运行」(非管理员会导致权限不足)。
2. 切换到 bin 目录
执行命令(替换为你的 bin 目录路径):
cd /d D:\soft\_dev\mysql-8.0.12-winx64\bin
说明:
/d参数用于同时切换盘符和目录,一步到位。
3. 初始化数据库(生成临时密码)
执行初始化命令:
mysqld --initialize --console
- 执行成功后,务必复制保存临时 root 密码 (
root@``localhost``:后面的一串字符,示例:root@``localhost``: Aa123456!); - 若提示「Can't create directory」,说明
my.ini中路径配置错误,返回第二步重新检查basedir和datadir。
4. 安装 MySQL 服务
执行命令:
mysqld -install MySQL80
- 成功提示:
Service successfully installed(服务名默认MySQL80,可自定义,如mysqld -install MySQL)。
5. 启动 MySQL 服务
执行命令:
net start MySQL80
- 成功提示:
MySQL80 服务已经启动成功; - 若启动失败,参考「常见问题排查」。
五、修改 root 密码(第一次登录必须操作)
1. 用临时密码登录 MySQL
执行命令:
mysql -u root -p
- 粘贴之前保存的临时密码(输入时不显示,直接回车即可),成功登录后出现
mysql>提示符。
2. 修改 root 密码
执行 SQL 命令(替换 你的新密码 为自定义密码,建议包含大小写、数字、特殊字符):
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES; -- 刷新权限
exit; -- 退出登录
3. 验证新密码登录
重新执行登录命令,输入新密码:
mysql -u root -p
- 成功进入
mysql>提示符,说明密码修改完成。
六、验证安装成功
1. 查看 MySQL 版本
登录后执行 SQL 命令:
SELECT VERSION();
- 输出
8.0.12即版本正确。
2. 测试数据库操作
创建测试数据库(可选):
CREATE DATABASE test\_db;
SHOW DATABASES; -- 查看所有数据库,包含 test\_db 即成功
七、常用命令(收藏备用)
| 功能 | 命令 |
|---|---|
| 启动 MySQL 服务 | net start MySQL80 |
| 停止 MySQL 服务 | net stop MySQL80 |
| 卸载 MySQL 服务 | mysqld -remove MySQL80 |
| 查看 3306 端口占用 | `netstat -ano |
| 登录 MySQL | mysql -u root -p |
| 查看 MySQL 版本 | mysql --version(CMD 中直接执行) |
八、常见问题排查
1. 初始化报错「Can't create directory」
- 原因:
my.ini中basedir或datadir路径错误(如缺少反斜杠、路径有中文); - 解决:重新编辑
my.ini,确保路径用双反斜杠\\,且无中文 / 空格。
2. 服务启动失败「发生系统错误 1067」
- 原因:
data目录已存在(重复初始化)或路径配置错误; - 解决:删除
data文件夹 → 卸载服务(mysqld -remove MySQL80)→ 重新执行初始化和安装。
3. 登录报错「Access denied for user 'root'@'localhost'」
- 原因:临时密码输入错误或已过期;
- 解决:重置密码(参考下方「忘记密码解决方案」)。
4. Navicat 连接报错「caching_sha2_password」
-
原因:MySQL 8.0 默认认证插件不兼容旧版 Navicat;
-
解决:登录 MySQL 后执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
九、忘记 root 密码解决方案
-
停止服务:
net stop MySQL80; -
编辑
my.ini,在[mysqld]下添加skip-grant-tables(跳过权限验证); -
启动服务:
net start MySQL80; -
免密登录:
mysql -u root(无需输入密码); -
重置密码:
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
exit;
-
注释
my.ini中的skip-grant-tables,重启服务:net restart MySQL80。
十、卸载 MySQL(如需)
- 停止服务:
net stop MySQL80; - 卸载服务:
mysqld -remove MySQL80; - 删除解压目录(含
data文件夹); - 删除环境变量:删除
MYSQL_HOME和Path中的%MYSQL_HOME%\bin; - 清理注册表(可选):运行
regedit,删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80。