环境描述:
由于特殊原因服务器的网络是电信ADSL拨号上网的,用"自动切换IP精灵"进行自动断网重连,每次重新连上网络需要2s时间,设置2小时切换一次网络。
MYSQL数据库在远程一台服务器上,另有一台测试数据库(MYSQL,也是ADSL拨号)。
发现程序部署上去后,总会莫名的锁表,而连接测试数据库则没有问题。加入详细日志后发现是因为开启事务后,在程序更新多张表期间,“自动切换IP精灵”切换网络导致网络中断,事务未提交导致锁表! 那为什么测试数据库没有问题?
后来发现线上MYSQL版本是5.7.14,测试数据库版本是5.0.27,查找数据库版本更新资料发现:自5.5以后,其中有一条新增功能是