当前位置: 首页 > 工具软件 > Mysql4J > 使用案例 >

MySQL Connector/J FailOver+MySQL主从

姚永年
2023-12-01

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读写)

 类似资料: