簡體   English   中英

MySQL:opencart中的“連接過多”

[英]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建議,您需要優化查詢以及數據庫配置。

一些主要問題是-

  1. 臨時表經常在磁盤上創建。

  2. 聯接不使用索引。

  3. key_buffer_size似乎設置不正確。

由於上述原因,您的查詢將花費更多時間並排在隊列中,而不是沒有空閑的連接,因此將使用所有連接,並且在使用所有連接后將不允許新連接。

除了查詢/數據庫優化外,您還需要檢查如何在應用程序中使用連接,以及連接是否按應用正確關閉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM