php - 解决mysql最大用户连接错误的正确方法

标签 php mysql sql

我将 PHPMYSQL 数据库结合使用,因为它们都是开源且易于使用的。

当我依次执行数百万行插入和/或更新时出现问题

在执行此操作时我得到了 MYSQL 错误:

'max_user_connections' active connections  

这是解决这个问题的最佳方法。

除了 PHP,我不想使用其他数据库或语言。

 connect_db();
   $query = "insert into table(mobno,status,description,date,send_deltime,sms_id,msg,send_type) values('".$to."','".$status."','".$report."','','".$timewsha1."','".$smsID."','','".$type."')";

    $result = mysql_query($query) or ("Query failed : " . mysql_error());

此查询将执行数千次。

然后服务器给出连接错误。

最佳答案

首先,尝试从您的托管服务器管理员那里了解 MySQL 数据库可用的最大连续事件连接数。这是要了解的最基本和最主要的信息。

如果您的页面在适当的时间内加载并在页面加载后释放连接,那应该没问题。当您的脚本需要很长时间从数据库检索信息或维护连接时,就会出现此问题。
由于您正在执行数百万行的 INSERT 和/或 UPDATE 操作,因此您可能会遇到一些问题。

此外,如果您无法关闭脚本中的连接,则可能有人会加载页面,而不是在加载页面时关闭连接,而是保持打开状态。然后没有其他人可以使用该连接。 因此请确保在所有 MySQL/SQL 查询执行结束时,数据库连接已关闭。另外请确保您的服务器提供超过250个连接,因为一般几乎所有服务器都提供100个连接。

还要确保您没有使用持久连接(使用内置函数“mysql_pconnect()”时可用),因为这会锁定用户直到连接建立手动关闭。

希望对您有所帮助。

关于php - 解决mysql最大用户连接错误的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573338/

相关文章:

php - 使用 PHP 复制文件夹

php - 如何接收和使用从 Mailgun 发送的 Webhook 数据?

php - Apache 显示 It Works 而不是 WordPress 起始页

php - 使用 join codeigniter 事件记录更新表?

MySQL 索引未按预期使用

mysql - 如何根据键列表进行不同的mysql行更新

php - 显示旧响应的 Jquery ajax 请求

php - 禁用显示值的文本框

MySql 连接器 EF6

mysql - 协助 SQL 查询返回不匹配的单元格