MySQL time_zone'当前会话' - 是IP还是连接?

时间:2015-09-22 15:28:07

标签: mysql mydac

我有一个项目,间歇性地将time_zone值从用户定义的值更改为SYSTEM,我正在尝试确定MySQL是否考虑当前会话' (MySQL TimeZone)连接,或者连接来自的工作站IP。

基本上,如果它不是每个连接,那么其他东西连接到MySQL并将time_zone值更改回SYSTEM,这会对我已经连接的软件产生影响。

如果是每个连接,那么我回过头来试图弄清楚time_zone正在重置的位置。

有关详细信息,我的项目是用Delphi XE3编写的,使用MyDAC组件进行数据库连接。当项目加载时,我读取一个连接文件,如果设置了time_zone字符串,我执行'设置Time_zone'查询。连接在整个应用程序运行生命周期内保持活动状态,并且对应用程序是全局的(即,我不创建/连接从此应用程序到数据库的其他连接)。

感谢您的协助!

1 个答案:

答案 0 :(得分:1)

MySQL会话对应于连接。

MySQL服务器会在超时后根据系统变量wait_timeout的值自动断开空闲会话,默认值为28800秒(8小时)。听起来Delphi会自动重新连接您的会话,但是当发生这种情况时,每会话设置将会丢失。

您应该更改应用程序,以便在长时间闲置时发送时区设置。您还可以增加wait_timeout(最大值为2147483,24.85天)。