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