在rails应用程序中使用activerecord处理mysql故障转移(主/从角色切换)

rhfm7lfc  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(371)

我是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

我是否可以添加任何配置来处理故障转移?有什么处理这种情况的建议吗?
提前谢谢。

bvpmtnay

bvpmtnay1#

我修正了这个问题后,这个博客。把它放在这里作为参考,以便任何人都可以使用它。
根据博客,你将覆盖 ActiveRecord::ConnectionAdapters::ConnectionManagement 适配器并编写自己的连接处理,以防出现错误。

相关问题