Mysql的C API自带重连功能,执行语句时发现连接断开,mysql库会尝试重连,并重新执行语句。使用mysql_options函数设置MYSQL_OPT_RECONNECT选项可以开启自动重连功能。默认情况下自动重连功能是关闭的。
示例如下:
my_bool reconnect = 1;
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(使用前将#替换为@)