mysql table 仅在副本服务器 运行 时崩溃
mysql table crashes only when replica server running
我有一个经常崩溃的 table,但似乎只有在副本为 运行 时才会崩溃。
table是MyISAM。 table 有 2 个 mediumtext 字段。我在执行删除语句时得到的错误是:“一般错误:1194 Table 'outlook_emails' 被标记为已崩溃,应该修复”。
不知道是不是和二进制日志有关。但是,当二进制日志 运行 但副本已关闭时似乎不会发生。
知道发生了什么或者我可以做些什么来解决它或进一步调查吗?
Table '...' is marked as crashed and should be repaired".
当 MySQL 服务器被粗鲁地重新启动时, 和 table 是 ENGINE=MyISAM。
临时修复是 运行 CHECK TABLE
,然后会建议您 运行 REPAIR TABLE
。工具 myisamchk
是一种方便的方法,特别是因为可能有多个 table 如此标记。
引擎 InnoDB 具有完全不同的内部结构。它避免了 MyISAM 的特定问题,并且在从崩溃中恢复方面做了更彻底的工作。
切换到 InnoDB 需要 ALTERing
你的 table。这里有更多讨论:http://mysql.rjweb.org/doc.php/myisam2innodb
我有一个经常崩溃的 table,但似乎只有在副本为 运行 时才会崩溃。
table是MyISAM。 table 有 2 个 mediumtext 字段。我在执行删除语句时得到的错误是:“一般错误:1194 Table 'outlook_emails' 被标记为已崩溃,应该修复”。
不知道是不是和二进制日志有关。但是,当二进制日志 运行 但副本已关闭时似乎不会发生。
知道发生了什么或者我可以做些什么来解决它或进一步调查吗?
Table '...' is marked as crashed and should be repaired".
当 MySQL 服务器被粗鲁地重新启动时, 和 table 是 ENGINE=MyISAM。
临时修复是 运行 CHECK TABLE
,然后会建议您 运行 REPAIR TABLE
。工具 myisamchk
是一种方便的方法,特别是因为可能有多个 table 如此标记。
引擎 InnoDB 具有完全不同的内部结构。它避免了 MyISAM 的特定问题,并且在从崩溃中恢复方面做了更彻底的工作。
切换到 InnoDB 需要 ALTERing
你的 table。这里有更多讨论:http://mysql.rjweb.org/doc.php/myisam2innodb