我是Rails的新手,并且已经建立了一个使用activerecord连接到MySQL的应用程序。我已经设置了master
节点的只读副本。问题是当我的slave
变成master
时,我在应用程序中收到以下错误:
MySQL server is running with the --read-only option so it cannot execute this statement
我认为可以接受。
但是我的应用程序会永远失败,并且直到我重新启动应用程序后才能恢复。是否有任何acitverecord配置或MySQL连接属性可用于从这种情况下恢复?
我在database.yml
中使用以下配置。
adapter: mysql2
encoding: utf8
url: <'DATABASE_URL'>
pool: 10
database: <'DATABASE_NAME'>
username: <'DATABASE_USER'>
password: <'DATABASE_PASS'>
reconnect: true
我可以添加任何配置来处理故障转移吗?有什么建议可以解决这种情况吗?
预先感谢。
答案 0 :(得分:0)
我解决了this博客之后的问题。将其放在此处以供参考,以便遇到问题的任何人都可以使用它。
根据博客,您将覆盖ActiveRecord::ConnectionAdapters::ConnectionManagement
适配器,并在发生错误时编写自己的连接处理。