设置Mysql C API断线自动重连

2023-05-16

Mysql的C API自带重连功能,执行语句时发现连接断开,mysql库会尝试重连,并重新执行语句。使用mysql_options函数设置MYSQL_OPT_RECONNECT选项可以开启自动重连功能。默认情况下自动重连功能是关闭的
示例如下:

my_bool reconnect = 1; //设置为1是开启,设置为0是关闭
mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect);
注意

自动重连会影响以下这些连接相关的状态:

  • 回滚任何活动事务并重置自动提交模式
  • 释放所有表级锁
  • 关闭所有TEMPORARY表
  • 将会话系统变量重新初始化为相应的全局系统变量的值,包括由set NAMES等语句隐式设置的系统变量
  • 丢失用户定义的变量设置
  • 预定义语句失效
  • 关闭句柄HANDLER变量
  • 将LAST_INSERT_ID()初始化为0
  • 释放通过GET_LOCK()获得的锁
  • 失去客户端与确定连接线程Performance Schema线程表行之间的关联。如果客户端在断开连接后重新连接,会话将与线程表中的新行相关联,并且线程监视状态可能不同

参考连接:https://dev.mysql.com/doc/c-api/5.6/en/c-api-auto-reconnect.html


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置Mysql C API断线自动重连 的相关文章

  • 如何在查询中获取 MySQL 状态

    是否可以在 MySQL 查询中使用服务器状态变量 我可以从 显示状态 中看到各种指标 但如何计算派生值 例如查询缓存命中率 show global status like Qcache inserts show global status
  • gcc 不会编译和运行 MySQL C 库

    include
  • NodeJs util.promisify 不是一个函数

    我正在尝试 promisify mysql 函数 但是当我运行它时 控制台显示此错误util Promisify is not a function 这是我的代码 var util require util var mysql requir
  • 使用 php 执行 *.sql 文件

    我需要执行一个 sql 文件 其中大约有 48 个要创建的表 它由注释和以 结尾的sql命令组成 有没有办法运行这些 sql 命令 将它们立即转换为单个字符串 我的意思是我需要使用 php 立即运行整个文件 我可以使用 mysql quer
  • sqlalchemy:每次提交都需要回滚吗?

    我正在为我的网络应用程序使用 SQLAlchemy 我见过很多这样的代码 try session commit except session rollback 我想知道是否每个人都有必要commit 手术 如果是 那么为什么它不属于comm
  • 带有mysql的实体框架,linux和windows之间的表大小写问题

    我们目前正在开发一个使用 Code First Entity Framework 和 Mysql 的产品 开发数据库托管在 Windows 环境中 而生产 mysql 则托管在 Linux 环境中 我遇到的问题是 mysql 中的表命名如下
  • 根据自定义数组位置排序帖子

    我想根据自定义字段列出帖子列表 这里我有 9 个帖子 有不同的 3 个位置 中 上 下 Post ID title position 1 Post1 Top 2 Post2 Bottom 3 Post3 Top 4 Post4 Bottom
  • 我们如何在存储过程中使用 mysql_affected_rows()

    我们如何使用mysql affected rows 在存储过程中 Use the ROW COUNT http dev mysql com doc refman 5 1 en information functions html funct
  • 检索多行最后插入的 id

    当将数据插入具有自动递增 PK 的表时 我需要获取该密钥以在另一个语句中使用 正如许多问题所示 这可以在 PHP 中使用mysql insert id 但是 我一直将插入内容分组在一起 因此一次插入不止一行 我这样做是因为我猜测可能会存在一
  • mysql连接3个表

    如何连接三个具有一个公共列 id 的mysql表 例如 从表1中选择a b 从表2中选择c d 从表3中选择e f 其中id x 谢谢 SELECT t1 a t1 b t2 c t2 d t3 e t3 f FROM table1 t1
  • 基于 MySQL 中的另一列创建计算列

    我的表中有 2 列 varchar 8 and an int 我想要auto increment the int column当我这样做时 我想将值复制到varchar 8 column 但用 0 填充它直到它达到 8 个字符长 因此例如
  • MySQL:查询之间的最佳索引

    我有一个具有以下结构的表 CREATE TABLE geo ip id bigint 20 NOT NULL AUTO INCREMENT start ip int 10 unsigned NOT NULL end ip int 10 un
  • Mysql正则表达式搜索不包含重复字符

    我有一个数据库表 其中包含字典中的单词 现在我想选择字谜词 例如 如果我给出字符串SEPIAN它应该获取像这样的值apes pain pains pies pines sepia etc 为此 我使用了查询 SELECT FROM word
  • Mysql乘法查询

    我有一个名为 产品 的表 其中包含一个名为 价格 的字段 我只想将每种产品的价格加倍 请您帮我提供一条可以在 PHP myAdmin 中运行的 SQL 语句 update products set price price 2
  • 在函数中使用node-mysql

    我对 Nodejs 很陌生 有一个问题 尝试创建一个函数 该函数将调用我在表中提到其 ID 的任何字段的值 function getUserInfo userID dynamicField var query connection quer
  • 在 Mac 上设置 Laravel php artisan 迁移错误:没有这样的文件或目录 [重复]

    这个问题在这里已经有答案了 将一个完美运行的 laravel 项目从 git 拉到运行 MAMP 的 mac 上 项目在linux机器上完美运行 作曲家安装 php artisan migrate 出现以下错误 PDOException S
  • 我可以在 MySQL 中存储图像吗?

    这个问题在这里已经有答案了 可能的重复 MySQL 中的图像 https stackoverflow com questions 1665730 images in mysql 在 MySQL 中存储图像 https stackoverfl
  • 为什么 JPA/hibernate 不能映射到 MySQL blob 类型?

    我收到以下错误 Caused by org hibernate HibernateException Wrong column type in TestTable for column PAYLOAD Found blob expected
  • Docker 应用程序更新后无法连接到数据库

    在我的公司 我有一个旧的 Symfony 应用程序在 Docker 容器中运行 该应用程序连接到一个 SQL 数据库 该数据库也在 Docker 容器内运行 该图像是使用 php 7 2 apache stretch 构建的 但该版本已不再
  • 如何使用放心发送Content-Type表单数据请求?

    我需要使用 Rest Assured 调用表单数据类型 API 这是我的代码 private Map

随机推荐