Documentation Home

3.5.3.12 高可用性和集群

  • autoReconnect

    驱动程序是否应该尝试重新建立陈旧和/或死连接?如果启用,驱动程序将为在属于当前事务的陈旧或死连接上发出的查询抛出异常,但会在新事务中对连接发出下一个查询之前尝试重新连接。不建议使用此功能,因为当应用程序未正确处理 SQLExceptions 时,它会产生与会话状态和数据一致性相关的副作用,并且仅设计为在您无法配置应用程序以处理由以下原因导致的 SQLExceptions 时使用死连接和陈旧连接正确。或者,作为最后的选择,

    默认值 错误的
    自版本 1.1
  • autoReconnectForPools

    使用适合连接池的重新连接策略?

    默认值 错误的
    自版本 3.1.3
  • failOverReadOnly

    在“自动重新连接”模式下进行故障转移时,是否应将连接设置为“只读”?

    默认值 真的
    自版本 3.0.12
  • maxReconnects

    如果“autoReconnect”为“true”,则尝试重新连接的最大次数。

    默认值 3个
    自版本 1.1
  • reconnectAtTxEnd

    如果“autoReconnect”设置为“true”,驱动程序是否应在每个事务结束时尝试重新连接?

    默认值 错误的
    自版本 3.0.10
  • retriesAllDown

    使用负载平衡或故障转移时,驱动程序应在可用主机之间循环尝试连接的次数。在周期之间,如果没有可用的服务器,驱动程序将暂停 250 毫秒。

    默认值 120
    自版本 5.1.6
  • initialTimeout

    如果启用“autoReconnect”,则重新连接尝试之间等待的初始时间(以秒为单位,默认为“2”)。

    默认值 2个
    自版本 1.1
  • queriesBeforeRetrySource

    使用多主机故障转移时,故障转移时回退到主要主机之前要发出的查询数。无论先满足哪个条件,“queriesBeforeRetrySource”或“secondsBeforeRetrySource”都会导致尝试重新连接到主要主机。将这两个属性都设置为“0”会禁用在事务边界处自动回退到主要主机。

    默认值 50
    自版本 3.0.2
  • secondsBeforeRetrySource

    在尝试重新连接到主要主机之前,驱动程序在故障转移时应该等待多长时间(以秒为单位)?无论先满足哪个条件,“queriesBeforeRetrySource”或“secondsBeforeRetrySource”都会导致尝试重新连接到源主机。将这两个属性都设置为“0”会禁用在事务边界处自动回退到主要主机。

    默认值 30
    自版本 3.0.2
  • allowReplicaDownConnections

    默认情况下,当配置的副本主机在初始连接时全部不可用时,复制感知连接将无法连接。将此属性设置为“true”允许建立初始连接。它不会在切换到副本时阻止故障,即通过将复制连接设置为只读状态。属性“readFromSourceWhenNoReplicas”应该用于此目的。

    默认值 错误的
    自版本 6.0.2
  • allowSourceDownConnections

    默认情况下,当配置的源主机在初始连接时全部不可用时,复制感知连接将无法连接。将此属性设置为“true”允许在只读状态下通过故障转移到副本服务器来建立初始连接。它不会在切换回源主机时阻止后续故障,即通过将复制连接设置为读/写状态。

    默认值 错误的
    自版本 5.1.27
  • ha.enableJMX

    启用基于 JMX 的负载平衡连接组管理,包括从负载平衡池中实时添加/删除主机。支持对复制连接组进行基于 JMX 的管理,包括实时副本升级、添加新副本以及从负载平衡的源和副本连接池中删除源或副本主机。

    默认值 错误的
    自版本 5.1.27
  • loadBalanceHostRemovalGracePeriod

    设置等待主机从负载平衡连接中删除的宽限期,当它当前是活动主机时被释放。

    默认值 15000
    自版本 6.0.3
  • readFromSourceWhenNoReplicas

    复制感知连接通过在读/写状态下使用源主机和在只读状态下使用副本主机来分配负载。如果在将连接设置为只读状态时,没有任何副本主机可用,则会返回“SQLException”。将此属性设置为“true”允许故障转移到源主机,同时在切换瞬间没有副本主机可用时将连接状态设置为只读。

    默认值 错误的
    自版本 6.0.2
  • selfDestructOnPingMaxOperations

    如果设置为非零值,驱动程序将报告关闭连接并在调用 'com.mysql.cj.jdbc.JdbcConnection.ping()' 或 'java.sql.Connection.isValid(int)' 时报告失败如果连接发送到服务器的命令数超过此值。

    默认值 0
    自版本 5.1.6
  • selfDestructOnPingSecondsLifetime

    如果设置为非零值,驱动程序将关闭连接并在调用“com.mysql.cj.jdbc.JdbcConnection.ping()”或“java.sql.Connection.isValid(int)”时报告失败连接的生命周期超过了这个值,以毫秒为单位指定。

    默认值 0
    自版本 5.1.6
  • ha.loadBalanceStrategy

    如果使用负载平衡连接连接到 MySQL 集群配置中的 SQL 服务器(通过使用 URL 前缀“jdbc:mysql:loadbalance://”),驱动程序应使用哪种负载平衡算法:(1)“随机” - 驱动程序将为每个请求选择一个随机主机。这往往比循环法更有效,因为随机性会在一定程度上解释请求响应时间不同的负载分布,而如果工作负载的响应时间存在变化,循环法有时会导致节点过载。(2) “bestResponseTime”——驱动程序会将请求路由到对前一个事务具有最佳响应时间的主机。(3) “ 服务器亲和顺序'。如果关联列表中列出的服务器都没有响应,则驱动程序会参考“随机”策略来继续选择下一个服务器。服务器亲和顺序'。如果关联列表中列出的服务器都没有响应,则驱动程序会参考“随机”策略来继续选择下一个服务器。

    默认值 随机的
    自版本 5.0.6
  • loadBalanceAutoCommitStatementRegex

    当为自动提交语句启用负载平衡时(通过“loadBalanceAutoCommitStatementThreshold”),语句计数器只会在 SQL 与正则表达式匹配时增加。默认情况下,每个语句发出匹配。

    自版本 5.1.15
  • loadBalanceAutoCommitStatementThreshold

    启用自动提交时,在触发负载平衡以重新平衡之前应执行的语句数。默认值“0”导致负载平衡连接仅在遇到异常时重新平衡,或者自动提交被禁用并且事务被显式提交或回滚。

    默认值 0
    自版本 5.1.15
  • loadBalanceBlocklistTimeout

    通过控制服务器在全局阻止列表中存在的时间,检查不可用服务器之间的时间(以毫秒为单位)。

    默认值 0
    自版本 5.1.0
  • loadBalanceConnectionGroup

    类加载器中负载均衡连接的逻辑组,用于独立管理不同的组。如果未指定,则禁用负载平衡连接的实时管理。

    自版本 5.1.13
  • loadBalanceExceptionChecker

    自定义异常检查器的完全限定类名。该类必须实现“com.mysql.cj.jdbc.ha.LoadBalanceExceptionChecker”接口,并用于检查“SQLException”异常并确定它们是否应该触发故障转移到负载平衡部署中的另一台主机。

    默认值 com.mysql.cj.jdbc.ha.StandardLoadBalanceExceptionChecker
    自版本 5.1.13
  • loadBalancePingTimeout

    使用负载平衡连接时等待每个负载平衡物理连接的 ping 响应的时间(以毫秒为单位)。

    默认值 0
    自版本 5.1.13
  • loadBalanceSQLExceptionSubclassFailover

    默认负载平衡异常检查器使用逗号分隔的类/接口列表来确定给定的“SQLException”是否应触发故障转移。使用抛出的“SQLException”使用“Class.isInstance(SQLException)”完成比较。

    自版本 5.1.13
  • loadBalanceSQLStateFailover

    默认负载平衡异常检查程序使用逗号分隔的“SQLState”代码列表来确定给定的“SQLException”是否应触发故障转移。评估给定“SQLException”的“SQLState”以确定它是否以逗号分隔列表中指定的任何值开头。

    自版本 5.1.13
  • loadBalanceValidateConnectionOnSwapServer

    在提交/回滚时切换到新的物理连接时,负载平衡连接是否应该明确检查连接是否有效?

    默认值 错误的
    自版本 5.1.13
  • pinGlobalTxToPhysicalConnection

    使用 XA 连接时,驱动程序是否应确保给定 XID 上的操作始终路由到相同的物理连接?这允许“XAConnection”在调用“XA END”后支持“XA START ... JOIN”。

    默认值 错误的
    自版本 5.0.1
  • replicationConnectionGroup

    类加载器中复制连接的逻辑组,用于独立管理不同的组。如果未指定,将禁用复制连接的实时管理。

    自版本 8.0.7
  • resourceId

    标识此数据源或连接所连接的资源的全局唯一名称,当驱动程序无法根据 URL 中使用的主机名确定此值时,用于“XAResource.isSameRM()”。

    自版本 5.0.1
  • serverAffinityOrder

    一个逗号分隔的列表,包含要在负载平衡“serverAffinity”策略中使用的主机/端口对。只会使用此 URL 的主要主机部分中列举的主机子集,并且它们的大小写和类型必须相同,即不能在一个地方使用 IP 地址而在另一个地方使用相应的主机名.

    自版本 8.0.8