MySQL JDBC中autoReconnectForPools的用途
有一个这样的场景,2台mysql数据库同步,正常的情况下一般只会连接其中的一台,如果其中一台down掉以后,应用程序能自动连接到另外一台,这样的场景和我上一篇文章描述的有所不同,详见: 《MySQL JDBC 集群》 一文,前面提到的是轮询访问,现在是一直访问一
有一个这样的场景,2台mysql数据库同步,正常的情况下一般只会连接其中的一台,如果其中一台down掉以后,应用程序能自动连接到另外一台,这样的场景和我上一篇文章描述的有所不同,详见:《MySQL JDBC 集群》一文,前面提到的是轮询访问,现在是一直访问一台,直到另外一台down机以后将会自动切换到另外一台上去,当然实现这样的场景你的应用程序必须使用JDBC的数据库连接池才会有效。
其实MySQL关于集群 的 JDBC参数还有很多,下面这些参数是我从MySQL官方网站上杂录的一部分,提供大家参考,
High Availability and Clustering.
Property Name | Definition | Default Value | Since Version |
自动重新连接 | 驱动程序是否应该尝试重新建立陈旧和/或失效的连接?如果启用,驱动程序将为在属于当前事务的陈旧或失效连接上发出的查询抛出异常,但会在新事务中的连接上发出下一个查询之前尝试重新连接。不建议使用此功能,因为当应用程序未正确处理 SQLException 时,它会产生与会话状态和数据一致性相关的副作用,并且仅设计为当您无法配置应用程序来处理由以下原因导致的 SQLException 时使用:正确地断开和陈旧的连接。或者,研究将 MySQL 服务器变量“wait_timeout”设置为某个较高的值,而不是默认的 8 小时。 | 假 | 1.1 |
autoReconnectForPools | 使用适合连接池的重新连接策略(默认为“false”) | 假 | 3.1.3 |
failOverReadOnly | 在自动重新连接模式下进行故障转移时,是否应将连接设置为“只读”? | 真 | 3.0.12 |
maxReconnects | 如果 autoReconnect 为 true,则尝试重新连接的最大次数,默认为“3”。 | 3 | 1.1 |
reconnectAtTxEnd | 如果 autoReconnect 设置为 true,驱动程序是否应该在每次事务结束时尝试重新连接? | 假 | 3.0.10 |
重试全部向下 | 使用负载平衡时,驱动程序应在可用主机之间循环并尝试连接的次数。在周期之间,如果没有可用的服务器,驱动程序将暂停 250 毫秒。 | 120 | 5.1.6 |
初始超时 | 如果启用自动重新连接,则重新连接尝试之间等待的初始时间(以秒为单位,默认为“2”)。 | 2 | 1.1 |
roundRobinLoadBalance | 当启用 autoReconnect,并且failoverReadonly 为 false 时,我们是否应该以循环方式选择要连接的主机? | 假 | 3.1.2 |
queriesBeforeRetryMaster | 故障转移时(使用多主机故障转移时)回退到主服务器之前发出的查询数。无论先满足哪个条件,“queriesBeforeRetryMaster”或“secondsBeforeRetryMaster”都会导致尝试重新连接到主服务器。默认为 50。 | 50 | 3.0.2 |
secondsBeforeRetryMaster | 故障转移后,驱动程序应等待多长时间才能尝试 | 30 | 3.0.2 |
selfDestructOnPingMaxOperations | =如果设置为非零值,则当连接的命令计数被调用时,驱动程序将报告关闭连接并报告失败。发送到服务器的值超过此值。 | 0 | 5.1.6 |
selfDestructOnPingSecondsLifetime | 如果设置为非零值,当连接的生命周期超过此值时,驱动程序将报告关闭连接并在调用 Connection.ping() 或 Connection.isValid(int) 时报告失败. | 0 | 5.1.6 |
资源ID | 标识此数据源或连接所连接的资源的全局唯一名称,当驱动程序无法根据 URL 中使用的主机名确定此值时,用于 XAResource.isSameRM() | 5.0.1 |
–结束–
译文地址:MySQL JDBC中autoReconnectForPools的用途,感谢原作者分享。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

使用 Navicat Premium 创建数据库:连接到数据库服务器并输入连接参数。右键单击服务器并选择“创建数据库”。输入新数据库的名称和指定字符集和排序规则。连接到新数据库并在“对象浏览器”中创建表。右键单击表并选择“插入数据”来插入数据。

Navicat本身不存储数据库密码,只能找回加密后的密码。解决办法:1. 检查密码管理器;2. 检查Navicat的“记住密码”功能;3. 重置数据库密码;4. 联系数据库管理员。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

Navicat for MariaDB 无法直接查看数据库密码,因为密码以加密形式存储。为确保数据库安全,有三个方法可重置密码:通过 Navicat 重置密码,设置复杂密码。查看配置文件(不推荐,风险高)。使用系统命令行工具(不推荐,需要对命令行工具精通)。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

可在 Navicat 中通过以下步骤新建 MySQL 连接:打开应用程序并选择“新建连接”(Ctrl N)。选择“MySQL”作为连接类型。输入主机名/IP 地址、端口、用户名和密码。(可选)配置高级选项。保存连接并输入连接名称。

在 Navicat 中执行 SQL 的步骤:连接到数据库。创建 SQL 编辑器窗口。编写 SQL 查询或脚本。单击“运行”按钮执行查询或脚本。查看结果(如果执行查询的话)。
