核心概念:为什么选择 ZIP 版本?
- 免安装: 无需运行安装向导,解压即可使用。
- 绿色便携: 所有文件都在一个目录下,删除目录即可完全卸载,不会在系统留下任何痕迹。
- 多实例共存: 可以在同一台机器上解压多个不同版本的 MySQL,方便测试和开发。
- 高度可控: 所有的配置文件、数据目录、日志文件都在你指定的位置,方便管理和迁移。
准备工作
-
下载 MySQL ZIP 版本
(图片来源网络,侵删)- 访问 MySQL 官方下载页面:https://dev.mysql.com/downloads/mysql/
- 选择 "MySQL for Windows (x86, 64-bit), ZIP Archive" 下载。
- 如果你需要特定版本,可以点击 "Looking for previous GA versions" 进行选择。
-
安装环境
- 操作系统: Windows 10 或更高版本。
- Visual C++ Redistributable: MySQL 是用 C++ 编写的,需要 Visual C++ 运行库,如果你的系统比较新,通常已经安装,如果没有,建议从微软官网下载并安装最新的 "Visual C++ Redistributable"。
详细安装步骤
我们将以将 MySQL 安装到 D:\mysql-8.0.33 为例进行说明。
第一步:解压文件
- 将下载好的
mysql-8.0.33-winx64.zip文件解压到你希望安装的目录,D:\。 - 解压后,你会得到一个名为
mysql-8.0.33-winx64的文件夹,为了方便,可以将其重命名为mysql,即D:\mysql。
第二步:配置环境变量 (可选但推荐)
将 MySQL 的 bin 目录添加到系统的 PATH 环境变量中,这样你就可以在任意命令行窗口中直接使用 mysql, mysqld 等命令,而无需每次都切换到 bin 目录。
- 在 Windows 搜索栏中搜索 “编辑系统环境变量”,并打开它。
- 在弹出的 “系统属性” 窗口中,点击 “环境变量” 按钮。
- 在 “系统变量” (或 “用户变量”) 列表中,找到名为
Path的变量,选中它,然后点击 “编辑”。 - 在 “编辑环境变量” 窗口中,点击 “新建”,然后输入你的 MySQL
bin目录的完整路径,D:\mysql\bin。 - 依次点击 “确定” 保存所有设置。重启命令行窗口 使新配置生效。
第三步:创建 MySQL 配置文件
在 D:\mysql 目录下,创建一个名为 my.ini 的文本文件,这个文件是 MySQL 的核心配置文件。

用记事本或任何文本编辑器打开 my.ini,并粘贴以下基本配置。请务必根据你的实际安装路径修改 basedir 和 datadir。
[mysqld] # 设置MySQL的安装目录 basedir=D:/mysql # 设置MySQL数据的存放目录,建议新建一个空文件夹,让MySQL自己初始化。 datadir=D:/mysql/data # 允许最大连接数 max_connections=200 # 默认字符集为 utf8mb4 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci # 默认存储引擎 default-storage-engine=INNODB # 跳过密码验证(仅限首次初始化时使用,初始化后务必删除此行并设置密码) # skip-grant-tables
配置说明:
[mysqld]: 表示以下配置是针对 MySQL 服务器的。basedir: MySQL 的主目录。- `datadir非常重要! 这是 MySQL 存放所有数据库数据(如表、用户信息等)的地方,你可以指定一个全新的空目录,MySQL 会在首次启动时自动初始化它。请确保这个目录存在,并且当前用户有读写权限。**
skip-grant-tables: 这是一个临时的“后门”,在首次初始化或忘记密码时,可以使用它来跳过权限检查登录 MySQL。在成功设置密码后,必须从my.ini中删除这一行,否则你的数据库将毫无安全可言!
第四步:初始化数据目录
这是最关键的一步,它会创建 data 目录下的系统表,并生成 root 用户的初始密码。
-
以管理员身份打开 命令提示符 (CMD) 或 PowerShell。 (在开始菜单中右键点击,选择 “以管理员身份运行”)。
(图片来源网络,侵删) -
执行初始化命令,由于我们已经配置了
my.ini,MySQL 会自动读取其中的路径。# 如果你的环境变量配置好了 mysqld --initialize --console # 如果环境变量没配,需要切换到 bin 目录 # cd D:\mysql\bin # mysqld --initialize --console
-
请务必保存好临时密码! 命令执行后,终端会输出一些日志,其中会包含一句类似这样的话:
A temporary password is generated for root@localhost: <这里是一串随机密码>请立即复制并妥善保管这串临时密码! 你需要它来登录 MySQL 并设置自己的新密码。
第五步:安装并启动 MySQL 服务
我们将 MySQL 注册为一个 Windows 服务,这样它就可以在后台自动运行,无需手动开启。
-
仍在管理员命令提示符中,执行以下命令来安装服务:
# 如果环境变量配置好了 mysqld --install MySQL80 # 如果环境变量没配 # cd D:\mysql\bin # mysqld --install MySQL80
MySQL80是你为这个服务指定的名称,可以自定义,MyDevDB,如果将来需要卸载,这个名字会用到。
-
安装成功后,启动服务:
net start MySQL80
或者直接在 Windows 的 “服务” (
services.msc) 中找到你刚刚安装的服务,右键选择 “启动”。
第六步:首次登录与设置密码
-
打开一个新的普通命令提示符(无需管理员权限)。
-
使用刚才保存的临时密码登录 MySQL:
mysql -u root -p
然后输入临时密码。
-
登录成功后,第一件事就是修改
root用户的密码,MySQL 8.0 引入了新的认证插件,推荐使用ALTER USER命令。-- 将 'YourNewPassword' 替换为你想要设置的新密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword'; -- 刷新权限使修改生效 FLUSH PRIVILEGES; -- 退出 MySQL EXIT;
验证与常用操作
- 停止服务:
net stop MySQL80
- 卸载服务:
# 先停止服务 net stop MySQL80 # 然后移除服务 mysqld --remove MySQL80
- 修改配置后重启服务: 修改
my.ini后,需要重启服务才能使新配置生效。
常见问题与解决方案
Q1: 初始化时报错 The specified service already exists.
A: 这表示你已经安装过一次 MySQL 服务了,可以先尝试 mysqld --remove MySQL80 卸载,然后再重新安装。
Q2: 启动服务时报错 系统找不到指定的文件 或 拒绝访问
A:
- 检查
my.ini中的basedir和datadir路径是否正确,特别是盘符分隔符是否用的是 而不是\。 - 检查
datadir指定的目录是否存在,并且当前用户有权限读写。 - 确保你是以管理员身份运行命令提示符来执行安装和启动服务的。
Q3: 忘记了 root 密码怎么办? A:
- 停止 MySQL 服务:
net stop MySQL80 - 编辑
my.ini文件,在[mysqld]下添加一行skip-grant-tables。 - 以不检查权限的方式启动服务:
mysqld --skip-grant-tables(不要用net start,因为那样会加载完整配置)。 - 打开一个新的 CMD,直接输入
mysql即可无密码登录。 - 执行以下 SQL 修改密码 (注意:在 MySQL 8.0 中,需要先更新认证方式):
-- 更新认证方式为 mysql_native_password ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourNewPassword'; -- 或者使用新的 caching_sha2_password ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword'; FLUSH PRIVILEGES; EXIT;
- 非常重要! 停止 MySQL 进程,删除
my.ini中的skip-grant-tables行,然后正常启动服务net start MySQL80。
通过以上步骤,你就成功地在 Windows 上安装了一个免配置的 MySQL ZIP 版本,这种方式虽然比安装包多几个手动步骤,但提供了极大的灵活性和可控性,是专业开发者的首选。
