我的开发系统突然遇到了这样一个奇怪的问题:在我经典的asp站点连接mysql(mariadb)数据库时,每一个sql脚本都需要31秒才能执行。
连接到从我的系统上运行的数据库的本地副本,或者甚至连接到我在web主机上托管的live db,都是一样的。从一个简单的
adoconn.Execute("SELECT * FROM users;")
甚至
adoconn.Execute("SET sql_mode''")
执行需要31秒。每个人!
我可以安全地排除数据库的任何问题,因为连接到它,并且从dbeaver运行脚本完全没有问题。结果马上就出来了。我还可以排除网络问题,因为本地数据库和托管数据库的结果相同,并且我使用wireshark确认mysql数据包几乎是立即从托管数据库得到响应的。
调试通过我的asp代码,一切运行良好,直到.execute(),在这将需要31秒,无论脚本有多复杂。
最奇怪的是,这个问题是突然出现的;当我的系统在周末关机,断开连接,未被触动时。未对系统进行任何更新、安装或更改。星期五我的开发工作做得很好。但是星期一早上当我重新启动它的时候,那里的db连接被塞满了。
我已经尝试过配置mysql使用“skip name resolve”和“bind address=::”设置。我已经尝试重建我的iis网站和重新安装iis本身。我也在我的系统上重新安装了mysql-odbc驱动程序,但毫无效果。
这是怎么回事?
1条答案
按热度按时间szqfcxe21#
事实证明,整个问题的原因是预装在戴尔笔记本电脑中的mcafee软件。不,我确实禁用了防火墙和防病毒软件。这是我做的第一步,在我的测试过程中,我做了三次例行检查。mcafee的防火墙和自动保护都被完全禁用。但是很明显,mcafee忽略了这个设置,并通过odbc破坏了我的db连接。
当我完全卸载这个mcafee恶意软件时,这个问题终于结束了。没有别的方法来形容它。
让这篇文章成为一个警告,任何人天真地相信这个恶意软件是任何其他东西。