我按顺序运行三个perl脚本。它们每个都连接到Mysql数据库多次,并选择或更新数据库中包含的信息。运行这三个脚本大约20次(&连接/断开数据库的次数比这个多),我得到'无法连接到'localhost'(10055)上的MySQL服务器的消息。无法连接到'localhost'上的MySQL服务器(10055)
我已经读过其他地方可以使用mysql_auto_reconnect = 1重新连接到数据库,但我不完全确定这是问题所在。我的电脑上的Mysql服务器在程序崩溃时仍然连接 - 我不必重新启动它。我想了解它为什么这样做,而且我也不完全确定我如何放置'mysql_auto_reconnect = 1',因为当我这样做时,它告诉我DBI->使用旧式语法的连接已被弃用。
my $dbh_m= DBI->connect("dbi:mysql:XXX","root","XXX","mysql_auto_reconnect=1")
or die(“Error select at Trans:$ DBI :: errstr”);
我每次连接数据库时都需要写这个吗? (将其放入其中一个连接并不能解决问题,但我仍然收到所有其他连接的错误消息 - 它不会再开始运行,然后再重新崩溃)。这是我连接/断开数据库很多次的问题吗?
谢谢!
谢谢,我用过这个。看起来我连接/断开数据库的次数太多了,打开数据库并运行多个查询并只在程序结束时断开连接会更好吗?我得到的错误是'无法连接到'localhost'(10055)上的MySQL服务器,并且在准备时出现问题 – Lisa 2012-02-03 11:00:36
您应该检查您的MySQL配置文件并且如果它太低,请增加最大连接限制。 而且,是的 - 通常你只需要连接数据库一次。 – JackTheRandom 2012-02-06 12:14:06