在建立到MySQL服务器的远程连接后(使用MySQL命令行前端)我开始执行一个很长的存储过程(我估计可能需要超过7个小时)但是在执行过程中我收到错误:
错误 2013 (HY000):查询期间与 MySQL 服务器失去连接
所以我猜我的查询超时了。此过程只是将一些值存储在 以前是空表。
收到此错误并重新建立与服务器的连接后,我可以 验证程序以某种方式继续执行。一段时间后我也验证了 以前空的表现在有一些行。
我的问题是,即使 连接丢失?
最佳答案
首先,7 个小时似乎太长了。如果不完整的结果困扰您,您可以在 N 个查询完成时添加一些保存点,并将 N 个查询合并为一个事务。然后,每次您的程序异常停止时,您都可以加载上次保存的点。
我还建议您可以尝试将源数据选择到您的本地电脑中,并编写一些脚本来获取结果,然后将其上传到目标表。这将减少数据库服务器的开销。
关于mysql - 如果在此期间连接丢失,查询是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232356/