![Coldfusion 9 在服务器启动几周后与 MySQL 5 数据库服务器失去连接](https://linux22.com/image/589136/Coldfusion%209%20%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%AF%E5%8A%A8%E5%87%A0%E5%91%A8%E5%90%8E%E4%B8%8E%20MySQL%205%20%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%B1%E5%8E%BB%E8%BF%9E%E6%8E%A5.png)
我们的服务器运行几周后,收到以下 Coldfusion 错误消息:
执行数据库查询时出错。无法创建与数据库服务器的连接。尝试重新连接 3 次
我们在一台使用了一年之久的 XServer 上运行 Coldfusion Enterprise 9,该服务器使用 Snow Leopard 和 MySQL 5,在 Coldfusion 管理员中设置了大约十个 DSN,全部为本地,采用默认高级设置,主机设置为“localhost”,服务器的负载并不重。
奇怪的是,服务器重启后,一切都正常。然后大约一周后,一些数据库将停止工作,也就是说 Coldfusion 无法与它们建立连接。如果我转到 Coldfusion 管理员并单击“验证所有数据源”,我会发现只有 2 或 3 个数据源得到验证,其他数据源都失败了,并且当服务器开始出现这种情况时,如果我再次尝试验证,总是无法验证相同的数据源,但不一定是上次服务器出现这种情况时无法验证的相同数据源。
我知道“max_connections”设置,并且我们在 MySQL 配置文件中为该设置包含了一行并将其设置为 2000,当我们通过查询读取它时,它显示“2000”,所以这不是问题。
任何人?
答案1
我们在 CF Admin 中为所有 DSN 输入了验证查询“SELECT 1”,服务器现已运行一个多月,没有出现问题。
所以问题在某种程度上解决了,但如果能知道为什么 CF 会失去连接就更好了。
感谢您的帮助!
答案2
我建议检查服务器上的 JDBC 驱动程序并确保它们已更新。这听起来像是我在 2000 年初使用 JDBC 而不是 odbc 时遇到的问题,当时我们转向了 CFMX(版本 6 - Adobe ColdFusion Server 的第一个 Java 版本)
您可能还遭遇了通信链路故障。根据您的流量,可能值得考虑使用验证查询。
http://goo.gl/E1mRu包含大量可能有用且有帮助的信息。
您还应该检查 ColdFusion 9 的更新和修补程序。
还要检查您在 Apple Mac 上安装的服务器 jre。它可能需要用非 Apple 提供的更新版本进行替换。