Johannes Ernst Asked: 2015-06-08 13:29:12 +0800 CST2015-06-08 13:29:12 +0800 CST 2015-06-08 13:29:12 +0800 CST 调试 MySQL/mariadb 表崩溃的原因 772 我有一个不断崩溃的 MyISAM 表。我怎么知道它崩溃的原因?错误消息只说它崩溃了。是否有我可以激活的日志设置? 这是 Arch Linux 上的 mariadb 10.0.17。 mysql mariadb 1 个回答 Voted Best Answer Johannes Ernst 2015-06-08T14:04:18+08:002015-06-08T14:04:18+08:00 原来我遇到了这个 5 年之久的错误:http ://bugs.mysql.com/bug.php?id=54828以及一个剩余的(不知道从哪里来的)零字节文件。 我如何调试它:我设置了查询日志: set global general_log 'mysql.log'; set global general_log = 'ON'; 原来是写入远低于 /tmp/systemd-private 的文件...因为我正在运行 systemd。tail -f 该文件显示当我正在运行的应用程序执行“OPTIMIZE TABLE”时发生崩溃。 手动调用显示错误消息: Can't create new tempfile: '/var/lib/mysql/zxnifltlapzlcumb/items.TMM' Operation failed 这是因为一个月前的零字节文件已经在那个地方了。我删除了它,问题就消失了。
原来我遇到了这个 5 年之久的错误:http ://bugs.mysql.com/bug.php?id=54828以及一个剩余的(不知道从哪里来的)零字节文件。
我如何调试它:我设置了查询日志:
原来是写入远低于 /tmp/systemd-private 的文件...因为我正在运行 systemd。tail -f 该文件显示当我正在运行的应用程序执行“OPTIMIZE TABLE”时发生崩溃。
手动调用显示错误消息:
这是因为一个月前的零字节文件已经在那个地方了。我删除了它,问题就消失了。