【问题标题】:A strange bug, is Mysql asynchronous?一个奇怪的bug,Mysql是异步的吗?
【发布时间】:2011-01-25 00:53:06
【问题描述】:

我有一个奇怪的错误。我启动了一个 PHP 单元测试套件。一开始,它会执行一个大查询来初始化数据库。

如果我在执行 sql 之后立即设置断点,则没有问题,我的测试通过了。

如果我不放任何断点,他们不会通过并说表不存在!

它就像 sql 查询是异步的一样工作!

你知道这个错误吗?或者如何调试?

【问题讨论】:

    标签: php mysql debugging phpunit


    【解决方案1】:

    要对此进行调试,您需要查看查询日志 - 尤其是在数据加载完成和第一个单元测试开始时的事件序列。是否有从某个地方偷偷进入的 drop 数据库?

    使用配置文件中的设置打开查询日志:

    MySQL Manual - 5.1.2 Server Command Options

    您可以在 MySQL 命令行工具中再次打开和关闭日志,但它写入的文件需要在配置文件中配置并重新启动服务器。

    我之前在使用副本的测试环境中遇到过类似的问题 - 我最终发现我正在写入主服务器并从副本读取。有时,如果复制速度足够快,一些测试就会通过。请注意您的测试是否按照您认为的方式进行。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多