具有单主实例和多个辅助实例的MySQL复制组的JDBC URL连接字符串

时间:2019-07-16 21:44:23

标签: mysql jdbc database-replication

我已经用单个主数据库和多个辅助MySql 8实例配置了组复制。它可以按预期工作:(1)在主实例在线的情况下,所有辅助实例都处于只读模式;(2)主实例死亡后,其中一个辅助实例切换到读/写模式。

我有一个使用JDBC连接到复制组的Java应用程序。我的URL连接字符串如下所示

jdbc:mysql://host1:3306,host2:3306,host3:3306/database?
failOverReadOnly=false&autoReconnect=true&autoReconnectForPools=true

比方说发生了故障转移事件(host1实例已死),并且复制组的其余成员选择了host3作为新的“主”。现在在客户端,在host1发生故障之后,JDBC驱动程序已将host2用于某些只读操作,该操作已成功完成。

如果下一个可能是写操作失败的操作会怎样? JDBC驱动程序将重试host3实例并最终将其设置为“ primary”,还是将保留在host2上,因为读取操作在那工作?

0 个答案:

没有答案