MySQL 8.3 Release Notes
如果您遇到非常具体的问题,可以尝试调试MySQL。为此,您必须使用-DWITH_DEBUG=1
选项配置MySQL。您可以通过执行:mysqld --help来检查MySQL是否编译了调试。如果--debug
标志列出了选项,那么您已经启用了调试。mysqladmin ver也将列出mysqld版本作为mysql ... --debug在这种情况下。
如果mysqld在使用-DWITH_DEBUG=1
CMake选项配置时停止崩溃,您可能已经发现了编译器bug或MySQL中的计时bug。在这种情况下,您可以尝试添加-g
使用CMAKE_C_FLAGS
和CMAKE_CXX_FLAGS
CMake选项,而不使用-DWITH_DEBUG=1
。如果mysqld死亡,您至少可以使用gdb附加到它或使用gdb在核心文件上找到发生了什么。
当您为 MySQL 配置调试时,您自动启用了许多额外的安全检查函数,这些函数监控 mysqld 的健康状况。如果它们发现了什么 “意外的” 情况,会将条目写入 stderr
,mysqld_safe 将其重定向到错误日志!这也意味着,如果您遇到了 MySQL 的一些意外问题,并且使用的是源代码分发,那么首先应该配置 MySQL 以进行调试。如果您认为您发现了一个 bug,请按照 第 1.5 节,“如何报告 bug 或问题” 中的说明进行操作。
在 Windows MySQL 分发版中,mysqld.exe
默认情况下是带有跟踪文件支持的。