我有一个 java 应用程序,它具有长时间运行的进程并与数据库交互。它不断得到以下信息:
The last packet successfully received from the server was 3,601,168 milliseconds ago. The last packet sent successfully to the server was 3,601,166 milliseconds ago.
远程服务器有一个以秒为单位的 wait_timeout 354600。有什么问题吗?
最佳答案
可能会有很多问题,但我不认为 wait_timeout 是罪魁祸首,如果你的最后一个数据包是在大约 3600 秒前发送/接收的,而 wait_timeout 是 354600s。您可能已经失去与服务器的连接或许多其他事情。您需要发布更多关于您的代码正在做什么以及更多关于您期望发生的事情和实际发生的事情。
- 附带问题:MySQL 旨在相对快速地创建连接。您是否考虑过使用连接池而不是连续显式地使用一个连接?
至于卡西奥在问题下的评论……wait_timeout 以秒为单位。 MySQL Docs - wait_timeout
关于java - MYSQL超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7535902/