hik*_*aru 5 mysql macos mono asp.net-3.5 connector-net
这个是杀了我.我们在MySQL数据库上有一个ASP.NET/Mono应用程序.几个月来,我们一直被"无法连接到任何指定的MySQL主机"的完全随机但一致的事件所困扰.我绝不是MySQL专家,我希望这是愚蠢的.
细节:
MySQL 5.5.17
MySQL Connector/Net 6.4.4
Mono 2.10.8
MonoDevelop 2.8.6.5
连接字符串:SERVER = localhost,3306; DATABASE = xxx; UID = xxx; PWD = xxx; CONNECTION TIMEOUT = 90; Encrypt = false;
Max_connections设置为150.永远不会超过5个连接,并且它们都是活动的(可能是由于池).
该应用程序是C#ASP.NET 3.5.在Windows/IIS上运行多年坚如磐石.九个月前,我们的市场导致我们离开了Windows,因此我们(很容易就可以添加)将整个事情转移到Mono/Apache.
这个问题只出现在Mono方面,但这一点至关重要,因为我们已经退出了Windows支持.
平均每小时发生约10次,但间距变化很大.
该问题已在以下配置中见证:
Ubuntu 11/Apache2/mod_mono
OSX Lion/Apacke2/mod_mono
Ubuntu 11/xsp2/MonoDevelop调试服务器
OSX Lion/xsp2/MonoDevelop调试服务器
搞乱了keepalive,wait_timeout,connectionreset等无济于事.时间似乎没有效果.conn.open上的错误是瞬时的 - 不是在任何连接超时之后.
这是一个线索 - 应用程序绝对不会运行Pooling = false.几乎每个连接尝试都失败了.当然我想要合并,但我不确定为什么没有它就行不通.
该应用程序内置"心跳"(用户在数据库中的会话) - 每2分钟一次.
最令人抓狂的是什么?绝对不能在运行环境中按需复制 - 它是随机的.我检查了查询大小,执行时间等.
在一个场景中我可以实现它:在Ubuntu服务器或OSX的初始启动时,Mono第一次使它成为第一次连接MySQL - 它将会发生.在那之后,这是任何人的猜测.
好吧,这已经很旧了,但是我在这上面浪费了很多时间,我必须分享我终于找到的这篇救命文章:让 Mono 和 Mysql 一起玩得很好
我总结一下链接有一天会出现 404 的情况:必须定义连接字符串的每个变量。所以,是的,这包括port,我以前从未在连接字符串中定义过它。
对我来说它解决了问题。
| 归档时间: |
|
| 查看次数: |
1620 次 |
| 最近记录: |