• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 如果遇到表损坏,请进行测试

    以下过程适用于MyISAM表。有关遇到InnoDB表损坏时要采取的步骤的信息,

    如果遇到损坏的MyISAM表或在某些更新语句后mysqld总是失败,则可以通过执行以下操作来测试问题是否可重现:

    1. 使用mysqladmin shutdown停止MySQL守护进程。
    2. 对表进行备份,以防万一修复会造成不良后果。
    3. 使用myisamchk -s database /*。MYI检查所有表。使用myisamchk -r数据库/table.MYI修复任何损坏的表。
    4. 对表进行第二次备份。
    5. 如果需要更多空间,请从MySQL数据目录中删除(或移走)所有旧日志文件。
    6. 在启用二进制日志的情况下启动mysqld。如果要查找使mysqld崩溃的语句,则还应在启用常规查询日志的情况下启动服务器。请参见“mysqldumpslow 汇总慢查询日志文件”和“二进制日志”。
    7. 表崩溃后,停止mysqld服务器。
    8. 恢复备份。
    9. 启用二进制日志的情况下重新启动mysqld服务器。
    10. 使用mysqlbinlog二进制日志文件重新执行语句MySQL的。二进制日志的名称保存在MySQL数据库目录中。hostname-bin.NNNNNN
    11. 如果表再次损坏,或者您可以使用上面的命令使mysqld死亡,则您发现了可重现的错误。使用“如何报告错误或问题”中给出的说明,将表和二进制日志通过FTP传输到我们的错误数据库。如果您是支持客户,则可以使用MySQL客户支持中心(https://www.mysql.com/support/)向MySQL团队发出有关该问题的警报,并尽快对其进行修复。