首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ColdFusion 10通信链路故障到MySQL

ColdFusion 10通信链路故障到MySQL
EN

Stack Overflow用户
提问于 2012-10-10 19:53:00
回答 2查看 1.2K关注 0票数 6

我们正在将一些网站迁移到运行Windows 2008虚拟机的云基础设施上。这些网站都运行在ColdFusion和MySQL数据库上。它们目前正在我们的CoLo中运行,没有任何问题。此外,它们在我们办公室的开发网络上运行,没有任何问题。

我们正在设置云,以尽可能与我们目前使用的配置相匹配,这实际上是,在一台服务器上使用CF10 + IIS,在另一台计算机上使用MySQL。我们已经完成了99%的工作,而且大多数事情都进行得很好。但是..。

我们遇到了一对夫妇,就像在两个地方一样,我们点击了一个链接/按钮,并受到了如下的欢迎:

执行数据库查询时出错。

通信链路故障从服务器成功接收到的最后一个数据包是0毫秒前。最后一个成功发送到服务器的数据包是0毫秒前。

扫描堆栈跟踪,我还发现:Caused by: java.net.SocketException: Connection reset

通信链路错误总是: 0ms。

最令人费解的是那些似乎导致了这一切的查询--简单的查询,这些查询在所有站点上都是没有问题的。他们为什么在两个特定的地方失败,这让我们束手无策。

我们唯一的线索是,查看调用哪些脚本的CF错误描述,我们可以看到查询失败的脚本被调用了两次?例如,其中一个出现在我们的应用程序文件中:

代码语言:javascript
运行
复制
>The error occurred in D:/Our_Web_Sites/oursite/Application.cfm: line 73
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 17
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 1
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 73
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 17
>Called from D:/Our_Web_Sites/oursite/Application.cfm: line 1

我们无法在CF代码中找到导致脚本被调用两次的任何内容,因此我们猜测第一次调用在查询上失败,因此CF尝试again...only失败和错误。

在搜索这个问题时,我发现了很多关于改变MySQL超时的帖子。所有这些都没有奏效,我也没料到他们会这么做,因为我们正在处理的事情似乎不是一个超时问题。这些页面每次都会失败。

我们最接近的解决方案来自于这篇博文:http://www.talkingtree.com/blog/index.cfm/2011/1/12/Validation-Query-for-MySQL-communications-link-failure

如果我们取消“维护跨客户端请求的连接”。设置为CFAdmin,那么错误就消失了。博客建议保留选中的选项,这是我们的首选,并使用"SELECT 1;“的连接验证。尝试that...same错误。

我们还尝试了JDBC AutoConnect=true选项。没有效果。

下载了最新的JDBC连接器,并使用它代替了标准的CF10-MySQL连接器。没有效果。

同样,99%的站点除了这两个链接外都可以工作,这两个链接在我们所有的其他环境中都工作得很好。还有其他想法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-10-17 13:46:22

每次升级CF或MySQL时,我都觉得自己遇到了类似的问题。通常,JDBC驱动程序或连接字符串中的更改会有所帮助,我看到您已经尝试过了。

您是否检查过MySQL错误日志以获得任何提示?我们的变量位于/var/lib/mysql (不管您的'datadir‘变量设置为什么),并以一个.err扩展结束。

另外,也许您的版本尝试了一些其他JDBC连接字符串选项?我看到了一些可以启用的扩展日志记录。http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-configuration-properties.html

票数 0
EN

Stack Overflow用户

发布于 2012-12-05 19:46:50

发现了问题。我们正在萨维斯的云基础设施上运行我们的网络。我们从Savvis使用的Windows服务器实例安装了Trend代理。这是一个入侵保护系统,这就是问题所在。禁用服务可以清除所有通信错误。我不知道它为什么拒绝了它先前接受的一些问题。我只是很高兴(终于)把这件事抛在脑后!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12827279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档