Mysqldump - 删除所有外部连接

问题描述:

我们正在为一家拥有20个零售地点和总共50个工作站的公司完成工作。该项目需要2或3个完整的数据库转储,并具有等量的导入。这个过程是标准的,我们每天要做四次,没有问题。此客户有一个Linux(CentOS)框,我们一直在使用Putty & WinSCP的组合来完成转储/上传。Mysqldump - 删除所有外部连接

出于某种原因,当我们转储数据或将更新的数据集导入新数据库时,所有外部连接都将丢失。我们仍然可以通过WinSCP/Putty进行连接。这些日志也没有说明这个问题,因为它甚至不认识到外部连接尝试。只要转储/导入完成,每个工作站立即连接(我们有一个小程序&驱动程序,查找打开的端口)。有没有人有任何想法,答案或疑难解答建议?预先感谢您的帮助!

+0

正在使用什么数据库引擎?你是否可以在mysqldump运行时从“外部连接”手动连接到mysql数据库? (我不是说ssh进入主机,我的意思是,你可以在转储过程中连接到mysql数据库。)默认情况下,'mysqldump'锁定所有正在倾倒的表。工作站是否有可能检测到锁定的桌子并断开连接? – mauzel 2015-01-26 20:01:43

+0

感谢您的快速回复!非常感激!他们目前正在运行mysql 5.0。不,我们无法连接到外部。我们已经尝试通过我们的小程序CMD进行测试,我们甚至试图远程登录IP和端口,在转储期间,它似乎处于脱机状态。我们通常期望客户端计算机的一些小问题,以及所有锁定的表。但是,我们产品的DB有200-300个活动表,并且它们不是一次全部锁定。 我不确定它是否有帮助,但在特定情况下的数据库差不多是12GB。 – 2015-01-26 20:18:28

+0

啊,通过mysql引擎我的意思是,MySQL数据库使用了什么引擎? InnoDB的?是?不幸的是,我不能真正想到会在mysqldump期间导致整个主机无法访问的问题。资源限制,也许? – mauzel 2015-01-26 20:50:17

如果锁定的表格是导致连接断开问题的原因,则可以尝试向dump命令添加--single-transaction。

Reference