Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何为mariadb连接器配置jdbc回退_Mysql_Jdbc - Fatal编程技术网

Mysql 如何为mariadb连接器配置jdbc回退

Mysql 如何为mariadb连接器配置jdbc回退,mysql,jdbc,Mysql,Jdbc,我希望我的应用程序总是尽最大努力连接到galera多主机数据库集群的第一个节点 我的应用程序使用mariadb jdbc连接器连接到数据库。由于galera已知的局限性,我经常遇到冲突。一种解决方案是强制应用程序只连接到一个节点进行写入。 根据mariadb连接器文档,我可以使用sequentail模式,以便连接器按顺序尝试主机。但是sequential的问题是它不会回退,因此我仍然不能保证所有应用程序都将连接到同一个数据库节点 有什么建议吗?mariadb知识页面上的文档不太清楚 以下是我在一

我希望我的应用程序总是尽最大努力连接到galera多主机数据库集群的第一个节点

我的应用程序使用mariadb jdbc连接器连接到数据库。由于galera已知的局限性,我经常遇到冲突。一种解决方案是强制应用程序只连接到一个节点进行写入。 根据mariadb连接器文档,我可以使用
sequentail
模式,以便连接器按顺序尝试主机。但是
sequential
的问题是它不会回退,因此我仍然不能保证所有应用程序都将连接到同一个数据库节点


有什么建议吗?

mariadb知识页面上的文档不太清楚

以下是我在一些测试后发现的有关Mariadb connector的内容:

  • 基本故障切换 如果未指定故障切换模式,则使用基本故障切换。(例如
    jdbc:mariadb://host1,host2
    )在此模式下,JDBC驱动程序将尽力连接到
    host1
    ,直到它不可用为止。故障转移发生后,如果
    host1
    返回,它将尝试退回到
    host1
    并断开其他主机的连接

  • 顺序模式 此模式与基本故障切换几乎相同,不同之处在于JDBC驱动程序坚持第二个节点,即使第一个节点返回,也不会返回到第一个节点

  • 故障转移 我的理解是,mariadb jdbc连接器中的
    jdbc:mariadb:failover
    相当于mysql jdbc连接器中的
    jdbc:mysql:loadbalance
    。除非您指定
    (type=slave)
    ,否则连接器将以读写模式连接到所有节点

  • 复制 使用
    jdbc:mariadb:replication://host1,host2,host3
    ,JDBC驱动程序将以读写模式连接到
    host1
    ,并以读模式连接所有其他节点