Windows 安装 MySQL 服务器(5.7.27版本)
💬 :如果你在阅读过程中有任何疑问或想要进一步探讨的内容,欢迎在评论区畅所欲言!我们一起学习、共同成长~!
👍 :如果你觉得这篇文章还不错,不妨顺手点个赞、加入收藏,并分享给更多的朋友噢~!
1. 安装
1.1 下载
在网址 https://downloads.mysql.com/archives/community/ 下载 mysql-5.7.27-winx64.zip 到 D 盘根目录

1.2 解压 MySQL
-
找到压缩包
打开 文件资源管理器 → 进入 D 盘 → 右键mysql-5.7.27-winx64.zip→ 选择 "解压到当前文件夹"(或 "解压到 mysql-5.7.27-winx64")。
✅ 结果:D 盘生成mysql-5.7.27-winx64文件夹(无中文 / 空格)。 -
检查目录
双击进入该文件夹,确认包含bin、lib等子文件夹(无data目录,后续自动生成)。
1.3 配置系统环境变量
-
打开环境变量设置
右键 "此电脑" → 选择 "属性" → 点击 "高级系统设置" → 右下角点击 "环境变量"。 -
新建 MYSQL_HOME 变量
在 "系统变量" 栏 → 点击 "新建" →- 变量名:
MYSQL_HOME - 变量值:
D:mysql-5.7.27-winx64
→ 点击3次 "确定"(编辑框→系统变量窗口→高级系统设置窗口)。
- 变量名:
-
修改 Path 变量(Win11 为例)
"系统变量" 中找到Path,点击 → 点击 "编辑" → 点击 "新建" → 输入%MYSQL_HOME%in→ 点击 "确定" 保存(Win7 需手动追加到 Path 开头,用英文分号分隔)。
✅ 验证:Win+R 快捷打开 CMD(普通权限),输入echo %MYSQL_HOME%,Enter后——
若成功,显示解压路径。
若显示 %MYSQL_HOME% 本身,则说明配置未生效,需排查
(1)回到 “环境变量” 设置,检查 MYSQL_HOME 的 “变量值” 是否正确(是否多了空格、少了字母)。
(2)检查是否点击了 “确定” 保存(环境变量修改后需点击 3 次 “确定”:编辑框→系统变量窗口→高级系统设置窗口)。
(3)关闭当前 CMD 窗口,重新打开一个新的 CMD(环境变量修改后,旧窗口不会自动更新)。
1.4 创建 my.ini 配置文件
-
定位目录
文件资源管理器 → 进入D:mysql-5.7.27-winx64(根目录)。 -
新建文本文档
右键"新建" → "文本文档" → 顶部菜单 "查看" → 勾选 "文件扩展名" → 删掉 .txt 后辍,重命名为my.ini。
-
编辑内容(ANSI 编码)
右键my.ini→ 选择用记事本打开 → 粘贴以下内容:[mysql] default-character-set=utf8 # 客户端字符集 [mysqld] port=3306 # 端口号 basedir=D:/mysql-5.7.27-winx64 # 根目录(斜杠方向需正确) datadir=D:/mysql-5.7.27-winx64/data # 数据目录(初始不存在) max_connections=200 # 最大连接数 character-set-server=utf8 # 服务端字符集 default-storage-engine=innodb # 默认引擎→ 点击 "文件" → "另存为" → 编码选择 "ANSI" → 点击 "保存"(覆盖原文件)。
❗ 注意:若用 Notepad++,需通过 "编码" → "转为 ANSI" 保存。
1.5 初始化 MySQL(管理员 CMD 操作)
-
以管理员身份打开 CMD
- 方法 1:右键 "开始菜单"(Win 图标)→ 选择 "终端管理员"(推荐)。
- 方法 2:右键 "开始菜单"(Win 图标)→ 搜索框输入 "cmd" → 右键 "命令提示符" → 选择 "以管理员身份运行"。
✅ 确认:CMD 标题栏显示 "管理员"。
-
执行初始化命令
在管理员 CMD 中输入:mysqld --initialize-insecure✅ 成功标志:等待 10 秒左右,根目录生成
data文件夹,无红色报错。
1.6 安装 / 启动 MySQL 服务
-
删除旧服务(如有)
若之前安装过 MySQL,先清理,在管理员 CMD 中输入:sc delete mysql # 直接删除服务名"mysql"或右键 "此电脑" → "管理" → "服务" → 找到 "MySQL" 服务 → 右键 "删除"。
-
安装新服务
在管理员 CMD 中输入:mysqld install # 安装默认服务名"MySQL"✅ 成功提示:
Service successfully installed. -
启动服务
net start mysql # 启动服务✅ 验证:管理员 CMD 中出现提示。
1.7 验证登录(无密码连接)
-
普通 CMD 连接
打开普通 CMD(非管理员),输入:接着出现mysql -u root -pEnter password: 直接按下 Enter 键✅ 成功:进入
mysql>提示符,输入select version();显示 5.7.27。 -
设置 root 密码(可选)
在mysql>后输入:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;
设置 root 密码后,后续在通过 root 账户登录 MySQL,以及执行数据库 / 表管理、用户权限配置、系统参数修改、数据备份恢复等管理员级操作时,均需验证该密码。
——日常开发 / 操作尽量用 “普通用户”(仅分配必要权限),避免频繁使用 root(减少误操作或密码泄露带来的损失)。
1.8 全流程注意事项(避坑指南)
- 路径规范:全程使用英文路径,禁止
D:我的工具mysql这类含中文 / 空格的路径。 - 编码致命错误:
my.ini必须 ANSI 编码,否则服务启动失败(报错[ERROR] Fatal error in defaults handling)。 - 环境变量生效:修改后需重启 CMD 或新打开终端,旧窗口不会更新。
- 服务冲突:若安装失败,检查注册表
HKEY_LOCAL_MACHINESYSTEMServices下是否残留 "mysql" 键值,手动删除。 - 端口占用:若 3306 被占用,修改
my.ini中的port=3307,并重启服务。
2. Windows CMD 中 MySQL 不支持中文问题
2.1 问题现象
Windows 的 CMD 中操作 MySQL 时,你可能遇到以下困扰:
- 切换中文输入法后,输入的中文自动变成英文(比如想输入 “男”,结果显示 “nan”);
- 执行插入中文的 SQL 语句时,触发
ERROR 1406 (22001): Data too long for column...,因为中文变英文后长度超出字段限制; - 查询数据时,中文显示为乱码(比如 “张三” 变成 “å¼ ä¸”)。
2.2 问题根源:字符集编码不统一
MySQL 服务端、客户端(CMD 中连接的会话)、CMD 命令行的字符集编码不一致,导致中文无法正常传输和显示。默认情况下:
- MySQL 服务端字符集可能为
latin1(不支持中文); - CMD 命令行默认编码为
GBK(与 MySQL 的utf8mb4不兼容); - MySQL 客户端(CMD 中连接的会话)未强制使用统一编码。
2.3 全链路打通中文支持
2.3.1 步骤 1:修改 MySQL 配置文件 my.ini
MySQL 的配置文件 my.ini 决定了服务端和客户端的字符集,需确保其配置为 utf8mb4,MySQL 的 utf8 是 utf8mb3(仅支持 3 字节中文),遇到 emoji(如 😊)或生僻字(如 “𪚥”)会存乱码,utf8mb4 才是真正的 UTF-8(支持 4 字节)。
1. 定位并打开 my.ini
若依照前文安装步骤,在 D:mysql-5.7.27-winx64 下找到 my.ini 文件 → 右键 → 「打开方式」→ 「记事本」。
2. 编辑 my.ini 的字符集配置
确保 [mysqld](服务端)和 [mysql](客户端)模块的字符集为 utf8mb4,修改后内容如下:
# 【客户端配置】指定CMD连接MySQL时的字符集
[mysql]
default-character-set=utf8mb4
# 【服务端配置】指定MySQL服务本身的字符集
[mysqld]
port=3306
basedir=D:/mysql-5.7.27-winx64 # 路径用正斜杠/,或双反斜杠
datadir=D:/mysql-5.7.27-winx64/data
character-set-server=utf8mb4 # 服务端字符集设为utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=innodb
3. 保存 my.ini(确保编码为 ANSI)
- 若用记事本:点击左上角「文件」→「另存为」→ 「编码」选择「ANSI」→ 覆盖原文件
2.3.2 步骤 2:重启 MySQL 服务
1. 打开「服务」管理窗口
Win+R→ services.msc → 回车,打开「服务」窗口。
2. 重启 MySQL 服务
-
在「服务」列表中找到「MySQL」服务;
-
右键该服务 → 选择「重启」(若服务状态为 “已停止”,则选择「启动」);
-
等待 “服务状态” 变为「正在运行」,说明重启成功。
步骤 3:配置 CMD 命令行的编码为 UTF-8
CMD 默认编码为 GBK,需切换为 UTF-8(代码页 65001),才能与 MySQL 的 utf8mb4 兼容。
1. 打开 CMD 并切换编码
-
按
Win+R→ 输入cmd→ 回车,打开 CMD 窗口; - 在 CMD 中执行命令:
chcp 65001执行后提示「Active code page: 65001」,表示 CMD 已切换为 UTF-8 编码。
2.3.4 步骤 4:强制 MySQL 服务加载指定的 my.ini(兜底方案)
若重启服务后,字符集仍未生效,可能是 MySQL 服务未加载你修改的 my.ini。需通过 “启动参数” 强制指定配置文件路径。
1. 停止 MySQL 服务
2. 添加 “启动参数” 指定 my.ini 路径
-
右键点击「MySQL」服务 → 选择「属性」→ 「常规」;
- 「启动参数 (M)」输入框;
- 在输入框中输入:
(将路径替换为你实际的--defaults-file="D:mysql-5.7.27-winx64my.ini"my.ini所在路径,引号为英文半角); - 点击「确定」。
3. 启动 MySQL 服务
2.3.5 步骤 5:验证全链路字符集
完成以上配置后,需验证 MySQL 的服务端、客户端、CMD 编码是否统一为 utf8mb4/UTF-8。
1. 连接 MySQL 服务器
2. 查看字符集配置
执行 SQL 命令:
show variables like '%character%';
3. 验证结果
执行后需满足以下核心字段为 utf8mb4:
| Variable_name | Value |
|---|---|
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_server | utf8mb4 |
2.3.6 步骤 6:测试中文插入与查询(最终验证)
1. 创建库和表
依次输入执行以下命令:
create database test_db;
use test_db;
create table student(
id int,
name varchar(32),
gender varchar(2)
);

2. 插入数据
insert into student(id,name,gender) values(1,'张三','男');
若执行后提示 Query OK, 1 row affected (0.01 sec) ,说明插入成功。
3. 查询
select * from student;
+------+--------+--------+
| id | name | gender |
+------+--------+--------+
| 1 | 张三 | 男 |
+------+--------+--------+
出现以上内容则说明问题彻底解决。









