如何解决主从复制jdbc url
| 我们有一个MySQL设置,其中有一个主机和两个从机,我们使用Spring 3.0连接到DB和mysql-connector-java-5.1.13.jar。 我们还使用commons dbcp 1.4进行连接池。 我们使用以下jdbc url字符串: jdbc:mysql:replication:// [master_ip]:23306,[slave1_ip]:23306,[slave2_ip]:23306 / wm_admin?autoReconnectForPools = true&roundRobinLoadBalance = true&loadBalanceBlacklistTimeout = 5000&loadBalanceStrategy = random 问题在于,如果其中一个从属服务器关闭,则应用程序将无法启动,或者如果正在运行并且其中一个从属服务器处于关闭状态,则应用程序将停止。 url字符串是否有问题,应该以其他方式设置吗?解决方法
当所有奴隶都死了时,我注意到了一个类似的问题。可以用mysql-connector-5.1.38解决
网址中的下一个参数:
jdbc:mysql:replication:// [[master_ip]:23306,[slave1_ip]:23306,[slave2_ip]:23306?connectTimeout = 5000&socketTimeout = 5000&retriesAllDown = 3&allowMasterDownConnections = true&allowSlaveDownConnections = true&loadBalanceBlacklistTimeout = 10000&readFromMasterWhenNoSlaves
另外,如果您不害怕对主服务器进行只读查询,则可以将主服务器添加到从服务器列表中:jdbc:mysql:replication:// [master_ip]:23306,[master_ip]:23306,[slave1_ip]:23306,[slave2_ip ]:23306
因此,您不会遇到“所有奴隶都死了”的情况。
,也许是文档中的解决方案:
如果您想在没有从站的情况下允许连接到主站
可用时,将属性readFromMasterWhenNoSlaves设置为“ true”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。