gpt4 book ai didi

mysql - 'max_user_connections' 设置为 200 - 仍然出现错误

转载 作者:行者123 更新时间:2023-11-29 02:04:14 27 4
gpt4 key购买 nike

这是mysql错误:连接失败:用户“db2498”已超过“max_user_connections”资源(当前值:200)。

我设置了my.cnf:

[mysqld]
max_connections = 500
max_user_connections = 200

我也将用户在 mysql 中的 max_user_connections 设置为 200。我已经有 1400 人在大约 10-20 分钟内访问了该网站。每个人平均停留 14 秒,我收到了大约 1400 条这样的消息。

我正在使用 PHP/Mysql。这是数据库类:

class DB{

public function __construct(){
$this->conn = new mysqli($this->host,$this->user,$this->pass,$this->db);
/* check connection */
}
public function selectSomething(){
/* select data & return */
}
public function __destruct()
{
$this->conn->close();
}
}

我是这样调用它的:

$conn = new DB();
$result = $conn->selectSomething();
/* do something */

$result = $conn->selectSomething();
/* do something */

$result = $conn->selectSomething();
/* do something */

用户在网站上的平均停留时间为 14 秒。为什么会出现此错误?是毁灭吗?我的数据库包装器设置有误吗?我迷路了,技术支持也帮不上什么忙。

最佳答案

至于您的“最大连接数”问题,它可能是以下三种情况之一:

1) 服务器已经有太多打开的连接。 MySQL 服务器在拒绝允许更多连接之前只能处理特定数量的打开连接,并且此限制在服务器的所有用户之间共享。它通常设置得相当高,尽管有人很容易通过建立大量连接来有效地对 MySQL 服务器进行 DoS(但请参见下文)

2) 您的用户帐户每小时允许的连接数量有限 - 该小时内的任何进一步连接都将被拒绝。这是基于每个用户设置的。

3) 您的用户帐户允许打开的连接数量有限 - 任何进一步的连接都将被拒绝。这是基于每个用户设置的。

阅读连接尝试时返回的错误消息始终很重要,因为在大多数情况下,这将查明失败的确切原因。

如果您的帐户有最大连接数限制(场景 #3),错误将是:代码:

ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_user_connections' resource (current value: 1) 

“mysqldba”是您的用户名,“当前值”是该用户允许的最大打开连接数。

如果您的帐户有每小时最大连接数限制(场景 #2),则错误将是:代码:

ERROR 1226 (42000): User 'mysqldba' has exceeded the 'max_connections_per_hour' resource (current value: 1) 

再次强调,“mysqldba”是您的用户名,“当前值”是该用户每小时允许的最大连接数。

如果您收到错误消息(代码 1040),则表示整个 MySQL 服务器已用完连接槽 - 这就是我上面提到的 DoS 场景。

你能做什么?根据您所说的,您在此服务器上没有 super 用户权限,所以除了向负责该服务器的系统管理员投诉外,什么也没有。他们可能会增加允许的最大连接数,这可以在短期内解决问题,但如果使用该服务器的其他人正在创建愚蠢数量的数据库连接,则插槽将再次填满。他们可能应该做的是也强制执行每个用户的最大打开连接限制——这将阻止重度用户阻塞服务器。在像您这样的共享服务器情况下,这最有意义 - “高级用户”会/应该拥有自己的服务器,或者可以/应该付费以增加他们的最大开放连接数。

关于mysql - 'max_user_connections' 设置为 200 - 仍然出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389201/

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