php - 如何修复用户“user_name”已超过“max_user_connections”资源(当前值:30)?
问题描述
function getDB() {
$server_name = "localhost";
$dbname = "db_name";
$user_name = "root";
$password = "12345678";
$dbConnection = new PDO("mysql:host=$server_name;dbname=$dbname",
$user_name, $password);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbConnection->exec('SET NAMES utf8');
return $dbConnection;
}
有一些功能
function one(){
$db = getDB();
// after some mysql query
$db = null;
}
function two(){
$db = getDB();
// after some mysql query
$db = null;
}
根据要求有 50 多个函数调用
解决方案
有两种可能:
只打开与您的应用程序的 1 个连接。这些错误显示多个打开的连接。1 个进程应该只打开 1 个连接,并重用它。
更改 mysql 配置文件,特别是https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_user_connections
推荐阅读
- sql - SSRS 如果条件小于等于时间
- angular - 将 url blob 响应转换为图像 Angular
- airflow - 同一 GKE 集群上的多个 Airflow 设置
- node.js - [NextAuth]:如何在后端以编程方式登录用户?
- android - Android包测试没有与目标匹配的签名
- sql - 在Oracle数据库中创建表时检查日期属性
- django - drf-yasg:图像字段未在 swagger ui 中显示
- redis - redis-rdb-tools 没有转换成 json
- python - 如何将程序启动代码(__name__ ==“__main__”)排除在 pytest 覆盖率报告中?
- java - MyEclipse 中的 Ant 类路径构建问题