在开始之前请注意mysqld启用常规查询日志后,您应该使用myisamchk。看到第五章,MySQL服务器管理。
如果mysqld要么死,要么被绞死,你该开始了mysqld启用常规查询日志后。看到第5.4.3节“通用查询日志”。当mysqld如果再次终止,您可以检查被终止的查询的日志文件的结尾mysqld。
如果使用默认的通用查询日志文件,则日志存放在数据库目录下
在大多数情况下,是日志文件中的最后一个查询被终止mysqld,但如果可能,您应该通过重新启动来验证这一点mysqld对象中执行找到的查询mysql命令行工具。如果这样做有效,您还应该测试所有没有完成的复杂查询。host_name
. log
您也可以尝试该命令解释
在所有选择
需要很长时间才能保证的语句mysqld正在正确使用索引。看到第13.8.2节,“EXPLAIN语句”。
通过启动,您可以发现需要很长时间执行的查询mysqld启用慢速查询日志。看到5.4.5“慢速查询日志”。
如果你找到课文mysqld重启
在错误日志中(通常是一个名为
),您可能已经找到一个导致mysqld失败。如果发生这种情况,您应该检查所有的表myisamchk(见第五章,MySQL服务器管理),并测试MySQL日志文件中的查询,看看是否有一个失败。如果您发现这样的查询,首先尝试升级到最新的MySQL版本。如果这没有帮助,报告一个错误,看第1.6节,“如何报告bug或问题”。host_name
.err
如果你已经开始mysqld与myisam_recover_options
系统变量设置,MySQL自动检查并尝试修复MyISAM
如果表被标记为“未正确关闭”或“崩溃”。如果发生这种情况,MySQL将在hostname.err
文件“警告:检查桌子……”
然后是警告:修理表
如果表需要修理。如果你有很多这样的错误,没有mysqld就在刚刚意外死亡之后,有些地方出了问题,需要进一步调查。看到第5.1.7节,“服务器命令选项”。
当服务器检测到MyISAM
表损坏,它向错误日志中写入额外的信息,例如源文件的名称和行号,以及访问表的线程列表。例子:从thread_id=1, mi_dynrecc:368得到一个错误
。这是包含在错误报告中的有用信息。
这不是一个好迹象mysqld果然死了,但在这种情况下,你不应该调查吗检查表……
发送信息,但要试着找出原因mysqld死亡。