启动MySQL5.7服务无法启动或Table 'mysql.plugin' doesn't exist

首先说一下我这个是mysql5.7.16免安装版,不过这个问题对于5.7版本应该都适用。


问题重现:

安装过程也说一下吧:

1.将下载的压缩文件解压到指定目录,

    我的是:E:\program\mysql-5.7.16-winx64

2.配置PATH环境变量,在最后追加bin路径:

    ;E:\program\mysql-5.7.16-winx64\bin

3.CD到bin目录执行mysqld去安装window服务:

    E:\program\mysql-5.7.16-winx64\bin>mysqld --install mysql5.7

4.启动服务:

E:\program\mysql-5.7.16-winx64\bin>net start mysql5.7
mysql-5.7 服务正在启动 .
mysql-5.7 服务无法启动。


服务没有报告任何错误。


请键入 NET HELPMSG 3534 以获得更多的帮助。


原因:

mysql在启动服务时会去找一些系统表,例如:

mysql5.7: Table 'mysql.plugin' doesn't exist

这个就是启动时候日志的报错(如果你已经创建了data文件夹,在data文件夹的用户.err文件,例如我的就是:Dylan.err)。其实我们在创建服务后缺少了一步,就是初始化mysql。



解决方案:


1.在安装目录创建data文件夹(如果已有,请删除里面所有文件),用于存放mysql初始化数据文件。

2.执行初始化mysql,

E:\program\mysql-5.7.16-winx64\bin>mysqld --initialize


完毕后会看到data文件夹下面生成了一堆文件:


3.再次启动服务:




这是一个坑!!!





posted @   一锤子技术员  阅读(212)  评论(0编辑  收藏  举报  
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示