我在AWS EC2实例上有一个脚本,它将一堆行插入到另一个EC2实例上的MySQL数据库中的InnoDB表中。如果我运行脚本,一切正常,脚本按预期终止。如果我连续3次启动脚本以便生成三个进程,则每个脚本插入几千行后,所有脚本会同时死掉。为什么呢?
请记住:
这是错误:
DBI connect('database:45.218.216.31:3306','root',...) failed: Can't connect to MySQL server on '45.218.216.31' (99) at /home/ubuntu/perl/modules/custom.pm line 256
无法在'45 .218.216.31上连接到MySQL服务器'(99)/home/ubuntu/perl/modules/custom.pm第256行连接失败。
第256行是您的常规连接方法:
my $dbh411a = DBI->connect($dsn, $db_user_name, $db_password) or die $DBI::errstr, "Connection failed";
非常感谢任何想法 - 谢谢。
UPDATE --------
感谢所有评论的人,他们非常乐于助人。我能够通过遵循@jordanm关于在脚本持续时间内保持数据库连接打开的建议来修复脚本。最初,我们打开和关闭每个插入的连接,这比连接关闭时生成MySQL连接请求的速度快,直到最大化并拒绝任何新连接。