相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.1 mb
PDF (A4)- 41.2 mb
PDF (RPM)- 39.8 mb
HTML下载(TGZ)- 9.5 mb
HTML下载(Zip)- 9.6 mb
HTML下载(RPM)- 8.1 mb
手册页(TGZ)- 260.6 kb
手册页(Zip)- 371.7 kb
信息(Gzip)- 3.9 mb
信息(邮政编码)- 3.9 mb
本手册节选

16.2.4.2关闭表异常问题

每一个MyISAM索引档案(.MYI文件)在头中有一个计数器,可以用来检查一个表是否已经正确关闭。如果您从检查表myisamchk,意味着这个计数器已经不同步了:

客户端正在使用或没有正确关闭表

此警告并不一定意味着表已损坏,但您至少应该检查表。

计数器的工作原理如下:

  • 在MySQL中,第一次更新表时,索引文件头中的计数器会递增。

  • 在进一步更新期间不会更改计数器。

  • 当表的最后一个实例关闭时(因为a刷新表操作被执行或因为表缓存中没有空间),如果在任何时候更新了表,计数器将递减。

  • 当你修理表或检查表,发现它是好的,计数器重置为零。

  • 为了避免与可能检查表的其他进程交互的问题,如果计数器为零,则在关闭时计数器不会递减。

换句话说,计数器只有在以下条件下才会变得不正确:

  • 一个MyISAM表在没有第一次发出的情况下被复制锁表而且刷新表

  • MySQL在更新和最终关闭之间崩溃了。(这个表可能仍然没问题,因为MySQL总是在每条语句之间对所有内容执行写操作。)

  • 日志含义通过修改表myisamchk——恢复myisamchk——update-state与此同时,它被mysqld

  • 多个mysqld服务器正在使用该表,其中一台服务器执行修理表检查表当它被另一个服务器使用的时候。在这个设置中,使用它是安全的检查表,尽管您可能会从其他服务器得到警告。然而,修理表应该避免,因为当一个服务器用一个新文件替换数据文件时,其他服务器不会知道这一点。

    一般来说,在多台服务器之间共享数据目录不是一个好主意。看到第5.8节“在一台机器上运行多个MySQL实例”,供进一步讨论。