Coldfusion 9 MySQL通信链路故障

Coldfusion 9 MySQL通信链路故障,mysql,apache,coldfusion,coldfusion-9,Mysql,Apache,Coldfusion,Coldfusion 9,我刚刚安装了Coldfusion 9,现在一切正常,它通过Coldfusion管理员作为一个数据操作程序连接到我的MySQL数据库,但是我很少发生这个错误,可能一天5-10次。我不知道如何重新创建它,如果你得到它并刷新页面,它就会消失 Error Executing Database Query. Communications link failure Last packet sent to the server was 0 ms ago coldfusion在显示一条用户友好的消息并通过电子

我刚刚安装了Coldfusion 9,现在一切正常,它通过Coldfusion管理员作为一个数据操作程序连接到我的MySQL数据库,但是我很少发生这个错误,可能一天5-10次。我不知道如何重新创建它,如果你得到它并刷新页面,它就会消失

Error Executing Database Query. Communications link failure Last packet sent to the server was 0 ms ago
coldfusion在显示一条用户友好的消息并通过电子邮件向我发送问题时发现了这个错误

几乎所有的时候页面都可以加载并正常工作,而这个问题只是在从CFMX7到CF9(都使用MySQL)之后才发生的


我使用的MySQL版本是“5.0.77”

我已经尝试将localhost和127.0.0.1作为数据源中的主机,这没有什么区别

有人知道这是什么以及如何修复吗?我看过一些关于Java的类似文章,但我不知道如何将修复转换成Coldfusion?这可能是MySQL或Apache的问题吗


编辑:我在昨天(11日)上午11点未选中维护连接,从那以后就没有出现错误。通常我一天能拿到3-10英镑,所以这看起来很有希望。我会等到明天再确认它是否修好。我在5.0.77上使用MySQL 4/5驱动程序,除非您将Apache Tomcat作为ColdFusion的servlet引擎,否则Apache不会是您的问题。apachehttpd不会导致这种情况


这看起来确实是JDBC连接器和MySQL之间的一个bug。您能告诉我您使用的是哪一版本的mysql吗?

Adobe论坛上讨论了这个问题。似乎一个合适的解决方法是在ColdFusion数据源定义中启用验证查询,例如“
Select 1
”(不带引号)。ColdFusion将通过在页面请求使用该db连接之前运行该简单查询来测试每个连接。这将保证在应用程序中使用之前,每个db连接都是良好的

详情请浏览:

根据Steven Erat给出的解决方案,将验证查询添加到数据源修复了相同的问题

我只想补充一点,您需要确保添加“select1”查询,并选中查询上方的“enableconnectionvalidation”复选框


我没有检查一些数据源上的复选框,问题稍后又出现了。。。(grin)

在您的CFAdmin中的MySQL数据源设置中,您为超时(分钟)设置了什么?您使用的是负载均衡器IP到MySQL还是direct?服务器设置>设置:“超时请求(秒)60后”我不知道负载均衡器是什么,也从未听说过它,所以我真的不能回答这个问题。我在Adobe论坛上也发了这篇帖子,找到了一个可能的解决方案,不使用内置的MySQL 5驱动程序,而是使用社区驱动程序,所以我将尝试一下,看看这是否行得通:我使用的MySQL版本是“5.0.77”,据我所见,问题出在JDBC 5.0驱动器上。如果您将MySQL服务器升级到最新版本(5.5.8),它可能会工作。我还没有看到任何关于这个bug是否被修复的信息。只有MySQL不再支持该漏洞,因为它的版本已经过时。我的提供商不支持5.5.8,但我的JDBC驱动程序只有4.0版,所以我会尝试将其更新到最新版本,否则我可能需要安装MySQL 5.5.8 myselfOk我添加了一个“其他”数据库类型,它也在做同样的事情,大部分时间都可以工作,但偶尔会出现“通信链路故障”消息。我在MySQL 5.0.77上使用了最新的连接器/J5.1.14。我想我的下一步是尝试将MySQL更新到5.1,如果仍然失败,那么就更新到5.5.8。我也只是注意到我的本地数据库正在运行MySQL 5.1.37。我会将我的本地版本更新到5.5.8,看看这些错误是否会在本地消失。