我正在依次运行三个 perl 脚本。它们中的每一个都多次连接到 Mysql 数据库,并且选择或更新数据库中包含的信息。在运行这三个脚本大约 20~ 次后(与数据库连接/断开连接的次数比这多得多),我收到消息“无法连接到‘localhost’上的 MySQL 服务器 (10055)”。
我在别处读到我可以使用 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("选择传输错误:$DBI::errstr");
是不是每次连接数据库都要写这个? (将其放入其中一个连接并不能解决问题,我仍然从所有其他连接中收到错误消息 - 它不会再次开始运行然后稍后重新崩溃)。这是我多次连接/断开数据库的问题吗?
谢谢!
最佳答案
DBI->connect("dbi:mysql:XXX", "root", "XXX", { mysql_auto_reconnect => 1 })
关于mysql - 无法连接到 'localhost' 上的 MySQL 服务器 (10055),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109830/