如何在Windows系统上通过MSI安装包配置MySQL 8.0服务?

小宇姑娘_4107

小宇姑娘_4107

2026-06-07

840人浏览

原创

必须用离线msi安装包并以管理员身份运行,否则服务注册失败、开机自启失效、mysql -u root -p无法登录;官网下载页需选约450mb的mysql-installer-community-8.0.xx.msi(离线),勿选2–3mb的在线包;custom安装时须手动添加mysql server并修改安装路径与数据目录;配置向导中必须选development computer、use strong password encryption、勾选windows service及开机自启;验证须依次执行sc query mysql80、netstat -an | findstr :3306、mysql -h 127.0.0.1 -u root -p。

如何在windows系统上通过msi安装包配置mysql 8.0服务?

必须用离线 MSI 安装包,且以管理员身份运行,否则服务注册失败、开机自启失效、mysql -u root -p 无法登录。

选错安装包会导致安装中途卡死或认证失败

官网下载页(https://dev.mysql.com/downloads/installer/)有两个关键包:mysql-installer-community-8.0.xx.msi(离线,约450MB)和 mysql-installer-web-community-8.0.xx.msi(在线,仅2–3MB)。后者需实时联网下载组件,网速波动或中断会卡在 “Executing” 状态,只能重装。

常见错误现象:

  • 点击 Execute 后进度条长期不动,任务管理器里没 mysqld.exe 进程
  • 安装完成但 sc query MySQL80 返回 “服务名无效”
  • Navicat 或 DBeaver 连接报错:Client does not support authentication protocol requested by server —— 这往往是因为误选了在线包+Legacy Authentication

正确做法:

  • 只下载带 “Full” 或 “Recommended Download” 标识的离线 MSI 包
  • 右键安装包 → “以管理员身份运行”
  • 若弹出 “缺少 Microsoft Visual C++ Redistributable”,立即退出,先装 vcredist_x64.exe(2015–2022 版本均可),再重试

Custom 安装时必须手动添加 MySQL Server 并改路径

默认选 “Developer Default” 看似省事,但会装一堆用不到的组件(如 Router、Samples),且数据目录仍落在 C:\ProgramData\MySQL\(隐藏路径,后期排查日志极难找)。

实操建议:

windows-healing-gateway
windows-healing-gateway

通过任务计划程序自动监控并自修复 Windows 上的 OpenClaw Gateway,具备 AI 诊断和 Telegram 报警功能。

下载
  • 安装类型选 Custom,不要点 Next 直接进组件页
  • 左侧展开 MySQL Server 8.0.xx-X64,点击右侧箭头 → 添加到待安装列表
  • 选中刚添加的 MySQL Server,点下方 Advanced Options,把安装路径从 C:\Program Files\MySQL\... 改为 D:\MySQL\Server80 类非系统盘路径(避免 C 盘爆满影响服务)
  • 数据目录(Data Directory)也一并改为同盘符下的 D:\MySQL\Data,别留默认值

配置向导里三个选项决定能否远程连、是否被其他程序调用

安装完组件进入配置向导,这三步不设对,MySQL 就只是个命令行玩具,不是可用的服务:

  • Config Type:选 Development Computer,不是 Server Machine。后者默认开 150+ 连接、1GB 缓冲区,Win10/Win11 本地跑直接卡死
  • Authentication Method:必须选 Use Strong Password Encryption。勾 Use Legacy Authentication Method 会导致 JDBC、PHP PDO 等客户端连接失败
  • Windows Service:务必勾上 Configure MySQL Server as a Windows Service 和 Start the MySQL Server at System Startup。服务名保持默认 MySQL80,改名后 net start MySQL80 会报错

端口保持 3306 即可;若提示占用,用 netstat -ano | findstr :3306 查 PID,再用 tasklist | findstr <pid></pid> 确认冲突进程(常见是 XAMPP、Docker Desktop、旧版 MySQL 服务)。

验证服务状态比图形界面登录更可靠

安装向导点完 Finish 不代表服务真起来了。很多人只打开 MySQL 8.0 Command Line Client 输入密码就以为成功,但该工具可能走的是 socket 连接,绕过了 TCP/IP 层,掩盖真实问题。

真正有效的验证顺序:

  • 查服务状态:sc query MySQL80,看到 STATE : 4 RUNNING 才算活的
  • 查端口监听:netstat -an | findstr :3306,应有 LISTENING 行
  • 命令行登录:mysql -h 127.0.0.1 -u root -p(强制走 TCP,不走 socket)
  • 环境变量配好后,在任意路径执行 mysql --version 能输出版本号,说明 bin 路径生效

最容易被忽略的是服务名和启动方式绑定死——一旦改了服务名,后续所有命令(net start、sc query、第三方工具连接字符串里的 service=xxx)都得同步改,而多数人根本记不住自己改过什么。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

2173

6

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.21

1319

5

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

775

5

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.19

2952

5

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.25

4928

4

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.08

1119

3

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.11

5211

4

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

2023.08.14

4582

7

mysql事务隔离级别
mysql事务隔离级别

mysql规范中定义了四种事务隔离级别,不同的隔离级别对事务的处理有所不同。本专题为大家提供mysql事务隔离级别相关的文章内容,大家可以免费体验。

2023.08.16

6054

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 183人学习