以下过程适用于 MyISAM表。有关遇到InnoDB 表损坏时要采取的步骤的信息,请参见第1.6节“如何报告错误或问题”。
如果遇到损坏的MyISAM 表或在某些更新语句后mysqld总是失败,则可以通过执行以下操作来测试问题是否可重现:
- 使用mysqladmin shutdown停止MySQL守护进程。
- 对表进行备份,以防万一修复会造成不良后果。
- 使用myisamchk -s database / *。MYI检查所有表。使用myisamchk -r数据库/ *
table*.MYI修复任何损坏的表 。 - 对表进行第二次备份。
- 如果需要更多空间,请从MySQL数据目录中删除(或移走)所有旧日志文件。
- 在启用二进制日志的情况下 启动mysqld。如果要查找使mysqld崩溃的语句 ,则还应该在启用常规查询日志的情况下启动服务器。请参见 第5.4.3节“常规查询日志”和 第5.4.4节“二进制日志”。
- 表崩溃后,停止 mysqld服务器。
- 恢复备份。
- 在不启用二进制日志的情况下重新启动mysqld服务器 。
- 使用mysqlbinlog二进制日志文件重新执行语句 MySQL的。二进制日志的名称保存在MySQL数据库目录中 。
hostname-bin.*NNNNNN* - 如果表再次损坏,或者您可以使用上面的命令使 mysqld死亡,则您发现了可重现的错误。使用第1.6节“如何报告错误或问题”中给出的说明,将表和二进制日志通过FTP传输到我们的错误数据库 。如果您是支持客户,则可以使用MySQL客户支持中心(https://www.mysql.com/support/)向MySQL团队发出有关该问题的警报,并尽快对其进行修复。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




