MySQL Connector/J FailOver+MySQL主从

本文介绍了MySQLConnector/J的FailOver特性,通过配置可以轻松实现主备切换,并提供了详细的连接字符串示例。此外还讨论了如何避免连接池在主机宕机后出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL Connector/J实际上就是大家常用的Java的MySQL驱动Jar,除了简单的JDBC功能外还提供了连接切换功能,并且Fabric的功能也包含在MySQL Connector/J中。

Mysql Connector Jar支持FailOver主备模式,直接修改程序的MySQL连接字符串即可实现主备切换

jdbc:mysql://[primary host][:port],[secondary host 1][:port][,[secondary host 2][:port]]...[/[database]]»
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
  • failOverReadOnly:primary host失效后,启用的后备服务器是否为只读
  • secondsBeforeRetryMaster:多少秒后重新尝试连接Master
  • queriesBeforeRetryMaster:多少次请求后重新尝试连接Master,当secondsBeforeRetryMaster和queriesBeforeRetryMaster都为0表示永不重新尝试Master。
  • autoReconnect和autoReconnectForPools:控制“重连”特性,即当一个session(或者事务)操作过程中,如果链接异常,driver不会抛出Exception而是尝试重新链接并继续执行;可能会产生问题。

示例:

jdbc:mysql://192.168.234.111:3306,192.168.234.112:3306/cgbt?failOverReadOnly=false&secondsBeforeRetryMaster=0&queriesBeforeRetryMaster=0

需要将数据库连接池的maxStatements=0设置为0,否则当主机宕机后,连接池将无法在备机上找到对应的Statement而报错。

Connector/J除了FailOver还支持Load Balancing(多主)和Master/Slave Replication(不支持Master宕机后,Slave读写)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值