如何修復MySQL錯誤:連接過多

MySQL錯誤簡介:連接過多

當您的Web應用程序(網站,博客,論壇等)需求很高時,即有大量用戶訪問,這意味著服務器上的消耗增加了。 如果上述網絡應用程序使用MySQL數據庫,並且查詢的次數確實很多(由於網絡的編程錯誤或許多使用網絡的用戶),MySQL可能會顯示此錯誤:

mysqli_connect(): (HY000/1040): Too many connections

MySQL:連接過多錯誤是什麼意思?

這意味著進入MySQL的請求太多,超過了它可以接受的數量,超過了它可以排隊或等待的數量。

怎麼解決呢?

很簡單,我們必須增加MySQL支持的請求(連接)的最大限制。

我將為您提供兩個解決此問題的方法:

1. 我們編輯文件/etc/mysql/my.cfg:

nano /etc/mysql/my.cfg

在其中,我們將以下內容寫在[mysql]的下面:

max_connections = 500 max_user_connections = 500

這會將最大連接數從100(默認值)增加到500。

我們保存並退出,然後重新啟動MySQL服務,僅此而已。 此更改是永久性的。

2. 解決此問題的另一種方法是將最大限制更改為相等,但要通過MySQL查詢。

讓我們首先顯示當前限制:

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

這將向我們顯示以下內容:

+ ----------------- + ------- + | 變量名| 價值| + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

換句話說,當前限制為151個連接,好吧,通過查詢將其提高到500個:

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

準備好了!

這樣的問題是,當重新啟動服務時,此配置將丟失。

要提供此詳細信息,您可以製作一個每X次驗證一次的bash腳本,甚至將行添加到守護程序的start或restart塊中。

但是,為什麼我想知道第二個選項? 嗯,這就是我以前說的。 但是一個月前,Ubuntu Server忽略了方法2,所以...在極端愚蠢的操作系統中,我們有第二個選項同樣有效works


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

6條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   NEX 他說:

    好的帖子,MySql…他們在FreeBSD中使用很多,….KZKG ^ Gaara?,…如果您發布關於如何在FreeBSD中安裝和配置MySql的帖子,例如SSH(安全-shell),SSH(通過Web),SFTP,那將是很好的(SSH文件傳輸協議),Apache-PHP-MySql,PHP5和PhpSysInfo擴展。

    1.    KZKG ^ Gaara 他說:

      為此,我必須安裝FreeBSD,我認為我現在沒有時間,我只是換了工作,還承擔了許多新的職責🙁

  2.   掃羅 他說:

    我最近不得不為使用nodejs的項目做類似的事情。 就我而言,它增加到了250個,這就足夠了,現在我做的很好。 感謝您的信息

  3.   舊金山 他說:

    您好,您能幫我輸入/etc/mysql/my.cfg嗎?

    我有一個VPS,但無法進入PUTTY。

    問候。

  4.   他說:

    要解決選項1-評論的選項的問題,並在重新啟動服務器時保留更改,必鬚根據版本編輯文件:

    ////////////////////////////////////////////////// ////////////////////
    //我在Ubuntu 16.04中更改了目錄///////////////////////
    ////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mysql.conf.d/mysqld.cnf

    ////////////////////////////////////////////////// ////////////////////
    //我在Ubuntu 15.04中更改了目錄///////////////////////
    ////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ////////////////////////////////////////////////// ////////////////////
    //我在Ubuntu舊版本中更改了目錄//////////////////////
    ////////////////////////////////////////////////// ////////////////////

    vi /etc/mysql/my.cnf

    ////////////////////////////////////////////////// ////////////////////
    //將此行添加到[mysqld]或[mysql]標籤下面//
    //然後重啟服務器//
    ////////////////////////////////////////////////// ////////////////////
    最大連接數 = 500

  5.   憤怒 他說:

    教程從無到有告訴您如何更改它