mysqld.exe:表'.\mysql\db'被标记为崩溃,需要修复。
mysqld.exe:表'.\mysql\db'被标记为崩溃,需要修复。
在我的Windows 10机器上,XAMPP安装中的MySQL服务无法启动。XAMPP控制台中的错误消息显示:
错误:MySQL意外关闭。
这可能是由于被阻止的端口,缺少依赖项,权限不正确,崩溃或其他方法关闭引起的。
错误日志显示如下:
InnoDB:使用原子写入。 2019-10-14 20:43:47 0 [注意] InnoDB:互斥锁和rw_locks使用Windows交互函数 2019-10-14 20:43:47 0 [注意] InnoDB:使用事件互斥锁 2019-10-14 20:43:47 0 [注意] InnoDB:压缩表使用zlib 1.2.11 2019-10-14 20:43:47 0 [注意] InnoDB:池的数量:1 2019-10-14 20:43:47 0 [注意] InnoDB:使用SSE2 crc32指令 2019-10-14 20:43:47 0 [注意] InnoDB:初始化缓冲池,总大小=16M,实例=1,块大小=16M 2019-10-14 20:43:47 0 [注意] InnoDB:完成缓冲池的初始化 2019-10-14 20:43:48 0 [注意] InnoDB:128个回滚段中有128个处于活动状态。 2019-10-14 20:43:48 0 [注意] InnoDB:为临时表创建共享表空间 2019-10-14 20:43:48 0 [注意] InnoDB:将文件'C:\ xampp \ mysql \ data \ ibtmp1'大小设置为12MB。正在完全写入文件,请稍候... 2019-10-14 20:43:48 0 [注意] InnoDB:文件'C:\ xampp \ mysql \ data \ ibtmp1'大小现在为12MB。 2019-10-14 20:43:48 0 [注意] InnoDB:10.4.6已启动;日志序列号6899920;事务ID13408 2019-10-14 20:43:48 0 [注意] InnoDB:从C:\ xampp \ mysql \ data \ ib_buffer_pool加载缓冲池 2019-10-14 20:43:48 0 [注意] 插件'FEEDBACK'已禁用。 2019-10-14 20:43:48 0 [注意] 服务器套接字在IP上创建:'::'。
而Windows事件查看器包含了5条单独的错误消息:
mysqld.exe:表“.\mysql\db”标记为损坏,应修复 mysqld.exe:表“.\mysql\db”的索引损坏;尝试修复它 无法修复表:mysql.db 致命错误:无法打开和锁定权限表:表“db”的索引损坏;尝试修复它 中止
当尝试连接到MySQL时,连接不起作用(这是因为MySQL服务无法运行)。在尝试连接后,CMD给出的错误消息是:ERROR 2002 (HY000):无法连接到'localhost'上的MySQL服务器(10061)
。
与需要修复的MySQL表相关的帖子需要连接到MySQL,因此在这种情况下无法帮助。如果在Windows 10机器上修复mysql.db
是可能的,那么应该采取哪些步骤?
mysqld.exe: Table '.\mysql\db' is marked as crashed and should be repaired这个问题是由于MySQL中的一个表崩溃导致的,需要修复才能正常使用。解决方法如下:
1. 打开控制面板,并在shell中运行以下命令启动MySQL服务:
mysqld –-console –-skip-grant-tables –-skip-external-locking
2. 在控制面板中打开另一个shell,并使用以下命令修复数据库:
mysqlcheck -r --databases mysql --use-frm
3. 停止MySQL服务,关闭shell,并正常重启MySQL。
这个问题的解决方法引用自Stack Overflow上的一个帖子:https://stackoverflow.com/a/57001732。有用户提到这只是一个警告,而不是错误,表明一些表无法修复,因为这些表对MySQL的工作是必需的。
希望以上方法可以帮助你解决这个问题。