gpt4 book ai didi

MySQL Socket 在数千次连续连接后拒绝连接

转载 作者:可可西里 更新时间:2023-11-01 08:55:43 25 4
gpt4 key购买 nike

我目前正在尝试在当前的 Ubuntu 机器上填充 MySQL5.1 数据库,其中包含 >5,000,000 个条目。由于程序的体系结构,对于每个 INSERT 语句,都会打开和关闭一个新的数据库连接。我知道这是一项昂贵的操作,但更改此操作需要更改大量代码,因此我宁愿避免这样做。

问题 我面临的是一段时间后(通常大约 12 秒,但重试后这个数字会增加)这个进程无法连接到数据库了。其他进程可以毫无问题地连接到数据库。

我不认为这是 MySQL 的问题,因为 MySQL 日志都没有报告任何错误。此外,一次最多打开 1 个连接(我通过查看 MySQL 状态变量来检查)。

问题:在给定时间范围内可以打开套接字的连续连接数是否有限制?

这是一个简化的 perl 脚本(实际程序是用 Java 编写的)会导致同样的问题(不包括数据库变量):

# ...
my $i = 0;
my $DBH = 0;
for ($i = 0;$i < $MAX; ++$i) {
$DBH = DBI->connect("DBI:mysql:$DBNAME:$DBHOST:$DBPORT", $DBUSER, $DBPW)
or die ("Error - Connection to database failed: \n $i times ok\n".DBI->errstr);

$DBH -> disconnect;
if ($i % 10000 == 0) {
print $i. " ";
}
}

问题:有什么建议/想法吗?

最佳答案

尝试提高/etc/mysql/my.cnf 中允许的连接数?

max_connections        = 300

如果是 php,将 mysql_connect() 的所有实例更改为 mysql_pconnect() ?

关于MySQL Socket 在数千次连续连接后拒绝连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com