在Rails3、八达通复制gem的查询错误期间,与MySQL服务器的连接中断
我只是将我的web服务从Rails2.3.8升级到Rails3.0.3 它几乎工作得很好 我有一个问题,当使用capistrano部署服务时发生连接丢失错误。每次部署大约发生3次。 该服务使用来自的八达通gem进行数据库复制,包括1个主数据库和2个从数据库 Mysql::错误:在查询过程中与Mysql服务器失去连接:从在Rails3、八达通复制gem的查询错误期间,与MySQL服务器的连接中断,mysql,ruby-on-rails,ruby-on-rails-3,replication,Mysql,Ruby On Rails,Ruby On Rails 3,Replication,我只是将我的web服务从Rails2.3.8升级到Rails3.0.3 它几乎工作得很好 我有一个问题,当使用capistrano部署服务时发生连接丢失错误。每次部署大约发生3次。 该服务使用来自的八达通gem进行数据库复制,包括1个主数据库和2个从数据库 Mysql::错误:在查询过程中与Mysql服务器失去连接:从区域中选择区域*WH 当八达通未与单个数据库一起使用时,不会出现此问题。但流量需要复制 请给我任何建议。谢谢。我是章鱼的创造者 你能把这个添加到你的shards.yml文件吗 ve
区域中选择区域
*WH
当八达通未与单个数据库一起使用时,不会出现此问题。但流量需要复制
请给我任何建议。谢谢。我是章鱼的创造者
你能把这个添加到你的shards.yml文件吗
verify_connection: true
此外,如果这不起作用,请尝试将rails配置为自动重新连接:
Obs:这只适用于mysql适配器,而不适用于mysql2。如果您使用的是Phusion Passenger和PassengerPawnMethod smart
这包括:
# database.yml and shards.yml
reconnect: true
非常感谢。我很惊讶你是章鱼的创造者。你是对的。这是解决办法之一。但是,这个问题不能用乘客来解决。使用Nginx+独角兽解决了这个问题。我正在为乘客寻找解决方案!另外,很高兴知道它解决了您的问题;-)您需要小心使用verify\u connection:true
,因为它可能会导致Octopus为您实际发出的每个SQL请求发出两个SQL请求:一个用于验证连接,另一个是实际的SQL请求。在某些应用程序中,这会降低应用程序的速度。
# database.yml and shards.yml
reconnect: true