[英]MySQL: “Too many connections” in opencart
我最近安装了opencart 2.0.3.1。 由于我已经安装了opencart,因此出现以下错误
警告:mysqli :: mysqli()[mysqli.mysqli]:(08004/1040):在第7行的/home/burhanie/public_html/store/system/library/db/mysqli.php中的连接太多
注意:错误:无法建立数据库链接(1040)/home/burhanie/public_html/store/system/library/db/mysqli.php中第10行的连接太多
警告:mysqli :: close()[mysqli.close]:无法在第58行的/home/burhanie/public_html/store/system/library/db/mysqli.php中获取mysqli
以下是来自mysqli.php文件的opencart代码
public function __construct($hostname, $username, $password, $database,$port = '3306') {$this->link = new \mysqli($hostname, $username, $password, $database, $port);
if ($this->link->connect_error) {
trigger_error('Error: Could not make a database link (' . $this->link->connect_errno . ') ' . $this->link->connect_error);
exit();
}
$this->link->set_charset("utf8");
$this->link->query("SET SQL_MODE = ''");
}
下面是phpmyadmin顾问的屏幕截图。 哪个状态表明opencart正在使用太多连接。 这似乎是一个错误
验证配置中的max_connections并在/etc/my.cnf中对其进行本地AND更改
SHOW VARIABLES LIKE 'max_connections';
SET GLOBAL max_connections = 200;
仅增加max_connections不是解决方案。
根据您的mysqladmin建议,您需要优化查询以及数据库配置。
一些主要问题是-
临时表经常在磁盘上创建。
联接不使用索引。
key_buffer_size似乎设置不正确。
由于上述原因,您的查询将花费更多时间并排在队列中,而不是没有空闲的连接,因此将使用所有连接,并且在使用所有连接后将不允许新连接。
除了查询/数据库优化外,您还需要检查如何在应用程序中使用连接,以及连接是否按应用正确关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.