MySQL 8.4 Release Notes
7.9.1.7 如果您遇到表损坏,请创建一个测试用例
以下步骤适用于MyISAM
表。关于遇到mysqld表损坏的步骤,请参阅第1.6节,“报告错误或问题”。
如果您遇到MyISAM
表损坏或mysqld在更新语句后总是崩溃,可以通过以下步骤来测试问题是否可重复:
-
使用mysqladmin shutdown停止MySQL守护进程。
-
创建表的备份,以防止可能的损坏。
-
使用myisamchk -s database/*.MYI检查所有表。如果发现损坏的表,可以使用myisamchk -r database/
table
.MYI进行修复。 -
创建第二个表的备份。
-
如果需要更多空间,请删除(或移动)MySQL数据目录中的旧日志文件。
-
使用mysqld启动,启用二进制日志。如果您想找到导致mysqld崩溃的语句,可以使用mysqld启动时启用通用查询日志。请参阅第7.4.3节,“通用查询日志”和第7.4.4节,“二进制日志”。
-
当您已经获取了崩溃的表时,请停止mysqld服务器。
-
恢复备份。
-
重新启动mysqld服务器不启用二进制日志。
-
重新执行语句使用mysqlbinlog binary-log-file | mysql。二进制日志文件保存在MySQL数据目录中,以名称
hostname-bin.
的形式。NNNNNN
-
如果表格再次损坏或您可以使用上述命令让mysqld崩溃,您已经找到可重复的bug。使用第1.6节,“报告错误或问题”中的指令将表格和二进制日志上传到我们的bug数据库。如果您是支持客户,您可以使用MySQL客户支持中心(https://www.mysql.com/support/)通知MySQL团队,并尽快修复问题。