2024.10.15:
事件起因:使用phpStuday启动mysql时发现启动失败,启动了几次都这样。于是进入services.msc启动mysql,结果还是失败,报错(没仔细看),难道是我安装的斗地主游戏造成的吗? 于是启动mysql5.5却启动正常。以为是默认的mysql5.7配置错误,但仔细想一下,这么长时间都没有碰过配置文件了,肯定不会是配置文件错误。于是,查看错误日志:
2024-10-15T07:43:55.841618Z 0 [Note] mysql5.7 (mysqld 5.7.36-log) starting as process 3940 ...
024-10-15T07:43:59.743618Z 0 [Warning] InnoDB: Retry attempts for reading partial data failed.
2024-10-15T07:43:59.743618Z 0 [ERROR] InnoDB: Tried to read 1048576 bytes at offset 1048576, but was only able to read 0
2024-10-15T07:43:59.743618Z 0 [ERROR] InnoDB: File (unknown): 'read' returned OS error 0. Cannot continue operation
2024-10-15T07:43:59.743618Z 0 [ERROR] InnoDB: Cannot continue operation.
当我看到 'read' returned OS error 0的时候,一股不好的念头冲了上来:难道我的原配硬盘出问题了(笔记本asus F556U ),我觉得小日子的硬盘应该不会那么脆弱吧。
赶紧找日志:计算机管理-系统工具-事件查看器-Windows日志-系统:(还真找到了)
看到这个,瞬间感觉我的硬盘快完了。应该是mysql5.7的系统文件正好在这个坏扇区上,导致mysql5.7启动不起来。真是烦:以前用mysql5.5多年了,都没有出现过任何问题,才升级mysql5.7两年左右就出问题,到底是我的硬盘寿命到头了还是这个版本的数据库频率读书数据造成的呢?唉,先处理好mysql5.7吧,起码本地的网站能够跑起来。突然想起来,最近一直在用discuzx建站,会不会是没有启用redis缓存导致每次展示页面都是读硬盘呢?赶紧改下,启用redis,不能一直读硬盘。
拯救过程:换另外一个系统,进命令行模式:执行命令:
checkdisk /f /r d:
注:在另外一个系统中,硬盘的盘符会发生变化,要根据你进入的系统为准。
接下来就是漫长的等待中:
果真是mysql的系统文件出错了,唉,居然还连累一个图片文件。
执行完毕后,重启电脑进行原系统,启动phpStuday,此时,mysql正常启动,再打开上图中的图片,发现图片只有一半,算了。我再补上去吧。
到此为止,修复完毕。问题暂时解决。但问题的根源并没有解决:是笔记本电池老化导致电力输出不稳定(在win7系统下,电池老是提示:请更换电池)?还是网站用的是文件缓存,频繁读硬盘造成的呢? |