【发布时间】:2012-02-24 23:02:21
【问题描述】:
我正在依次运行三个 perl 脚本。它们中的每一个都多次连接到一个 Mysql 数据库,并选择或更新数据库中包含的信息。在运行这三个脚本大约 20~ 次(并且从数据库连接/断开连接的次数比这更多)后,我收到消息“无法连接到 'localhost' (10055) 上的 MySQL 服务器。
我在其他地方读到过,我可以使用 mysql_auto_reconnect=1 让它重新连接到数据库,但是我不完全确定这是问题所在。当程序崩溃时,我计算机上的 Mysql 服务器仍然连接 - 我不必重新启动它。我想了解它为什么这样做,而且我也不完全确定我是如何输入“mysql_auto_reconnect=1”的,因为当我这样做时,它告诉我 DBI->connect using old style syntax is deprecated。
my $dbh_m= DBI->connect("dbi:mysql:XXX","root","XXX","mysql_auto_reconnect=1")
or die("选择 Trans: $DBI::errstr 时出错");
每次我连接到数据库时我是否也需要写这个? (将其放入其中一个连接并不能解决问题,我仍然从所有其他连接中收到错误消息 - 它不会再次开始运行,然后稍后重新崩溃)。这是我多次连接/断开数据库的问题吗?
谢谢!
【问题讨论】: