首页 > 编程知识 正文

sql2008请求失败或服务未及时响应,mysqlwindows安装教程

时间:2023-05-06 06:49:12 阅读:176999 作者:4482

用来捕捉搜索引擎,或者让刚进来的人看到我的错误信息。 解决方案如下。

MySQL57服务正在启动。

MySQL57服务无法启动。

服务没有报告错误。

详细内容请输入NET HELPMSG 3534。

2020-12-15t 00336039336028.143958 z0 [ error ] innodb : the innodb _ system datafile‘ibdata 1’must be writable

2020-12-15t 00336039336028.143958 z0 [ error ] innodb : the innodb _ system datafile‘ibdata 1’must be writable

2020-12-15t 00336039336028.144910 z0 [ error ] innodb : plugininitializationabortedwitherrorgenericerror

2020-12-15t 00336039336028.346376 z0 [ error ] plugin‘innodb’initfunctionreturnederror。

2020-12-15t 00336039336028.346376 z0 [ error ] plugin‘innodb’registrationasastorageeenginefailed。

2020-12-15t 00336039336028.347368 z0 [ error ] failedtoinitializeplugins。

2020-12-15t 00336039336028.348370 z0 [ error ] aborting

前言在本地好好的MySQL突然成了问题。 (我的机器是Windows。 )问题是这样的。

虽然本地的mysql中没有太重要的数据,但是我自己平时练习的项目,数据在本地,但是没有了也很痛。 正在练习的项目还可以作为参考,所以解决这个问题。

着手分析的只有这个提示,没有具体的参考、提示信息,想解决也没办法啊。 但是很快我就想到了MySQL的日志。 你可以去看日志啊。 虽然是emmm,但我没有在本地看到过MySQL日志。 我也不知道日志在哪里。 此外,安装MySQL时选择了缺省安装,将MySQL服务和数据分开。 找不到目录结构,看不到未来…。

检查3306端口。 端口被占用,但服务未启动吗?

这是……突然,我想到了一个命令。 以前使用过,可以将错误消息输出到控制台。 mysqld --console,马上输入这个命令,果然:

note它们被我直接无视了,一眼就看到了我熟悉的ERROR。 是什么? 数据文件“ibdata1”必须是可写的吗? “ibdata1”是什么样的文件? 不,权限不够吗? 但是,在Linux上的修改权限很容易修改。 您可以使用find命令来查找文件,但在Windows上它无法正常工作。 第一次遇到这样的问题,我也不敢贸然改正。 还是先在网上查一下,看看有没有遇到同样问题的网友,参考一下他们的解决方案吧。

输入关键词“innodb 3360 the innodb _ system datafile‘ibdata 1’must be writable”,回到车上,果然还是有很多网友面临着同样的问题。 但是,他们在Linux下,是一个查找命令,一个chmod命令

那我们再限定一次关键词吧。 是Windows。 也有先例啊。 但是,看了解决方案,也看了一些评论,但好像很多时候没有解决问题。 而且这个解决方案也有点轻率:

是否直接删除文件? 太轻率了。 看下面的评论,问题似乎没有解决。 我看了一下其他几个博客,有几个博客这样说,但反应也不统一,有的可以解决,有的不能解决。 我觉得不太靠谱啊。

已再次查看定位问题控制台的错误信息。 “ibdata1”文件必须是可写的吗? 那么,我查一下这份文件是否在本机上。 在此,我建议使用在Windows上非常有用的查询工具Everything。 可以查询文件和文件,在本地范围内也可以使用正则匹配。 我咨询了ibdata1,得到了四个结果

但是第三个是我以前写Python爬行动物时放的mysql。 我已经不用了。 我还没有打扫。 可以排除。 第四个: D:/temp/是我放临时文件的地方,也可以排除。 基本上可以确认是前两个文件。

因为我在安装MySQL时是缺省的,所以第一个程序文件是程序的安装位置,第二个程序数据是存储数据的位置。 虽然可能解释得不太准确,但是如果能明白意思就好了。

要解决问题,请找到这两个文件,然后再尝试修改该文件。 我记得在Windows上也可以修改文件的读写操作等权限。

找到了对应文件、数据文件。 我先来的是第二个,也就是ProgramData里的

通过Everything可以快速访问文件目录。 当然,也可以一层一层地点击。

选择文件,右键单击,单击属性,然后从顶部的选项中选择“安全性”,如下所示

这些权限都有啊。 看起来没问题。

再看一个,

和上面同样的方法。果然有问题

只有读取和执行的权限,没有写入权限,点击编辑,这个文件添加上修改和写入的权限

我也不太清楚Windows下的用户、用户组什么的,就默认选中“所有的程序包”,添加权限就OK了。

到此基本上就OK了,但是还有一个问题,因为刚刚查看端口的时候,发现其实3306这个端口是被占用的,但是服务没启起来,有点僵尸进程的感觉。我们得先把这个进程杀死,释放出被占用的端口。

netstat -aon | findstr 3306 查找3306端口,最后面那个数字就是进程号taskkill -F /pid 15688 强制杀死15688进程

然后再重新启动服务就OK了

整理步骤 使用控制台查看报错信息 mysqld --console 找到对应的文件,赋予权限查找占用端口的进程并杀死 netstat -aon | findstr 3306 查找3306端口taskkill -F /pid 15688 强制杀死15688进程 重新启动MySQL服务 net start mysql57 启动mysql57服务 归纳总结

当然,可能导致错误的原因和我不一样,但是可以有类似的解决思路:

使用mysqld --console将错误信息输出到控制台。根据报错信息在网上查询参考别人解决方案,根据自己经验,解决问题 写在最后

自己根据实际的经验写的文章,水平有限,如有错误还请指出。另外,问题虽然解决了,但是没搞清楚问题发生的原因,Program Files里的那个Ibdata1文件我重来没有动过,之前一直都好好,怎么突然就不行了呢?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。