MySQL線程用完,新串連無法串連的問題筆記!

來源:互聯網
上載者:User

標籤:mysql線程用完   新串連無法串連的問題筆記!   

問題:

MySQL伺服器所支援的最大串連數是有上限的,每個串連都會佔用一定的記憶體資源,因此當用戶端訪問MySQL伺服器處理完相應的操作後,就應該中斷連線釋放記憶體資源。

如果伺服器有大量的閑置串連,這樣就會白白的浪費記憶體,且如果一直在累加而不斷開的話,就會達到串連上限,報"too many connections”的錯誤。可通過命令"show process list”查看,若發現後台有大量的sleep線程,此時就需要調整上述參數了。


一些參數解釋:

show variables like ‘%max_connections%‘;  --查詢當前串連

可以在/etc/my.cnf裡面設定資料庫的最大串連數

[mysqld]

max_connections = 1000

mysql> show status like ‘Threads%‘;

+-------------------+-------+

| Variable_name     | Value |

+-------------------+-------+

| Threads_cached    | 58    |

| Threads_connected | 57    |   ###這個數值指的是開啟的串連數

| Threads_created   | 3676  |

| Threads_running   | 4     |   ###這個數值指的是啟用的串連數,這個數值一般遠低於connected數值

+-------------------+-------+

 

Threads_connected 跟show processlist結果相同,表示當前串連數。準確的來說,Threads_running是代表當前並發數。

引用:http://blog.csdn.net/imxiangzi/article/details/46502423


SHOW FULL PROCESSLIST;

殺死kill + id;

說明各列的含義和用途,

id列:一個標識,你要kill 一個語句的時候很有用。

user列: 顯示目前使用者,如果不是root,這個命令就只顯示你許可權範圍內的sql語句。

host列:顯示這個語句是從哪個ip 的哪個連接埠上發出的。可用來追蹤出問題語句的使用者。

db列:顯示這個進程目前串連的是哪個資料庫。

command列:顯示當前串連的執行的命令,一般就是休眠(sleep),查詢(query),串連(connect)。

time列:此這個狀態持續的時間,單位是秒。

state列:顯示使用當前串連的sql語句的狀態,很重要的列,後續會有所有的狀態的描述,請注意,state只是語句執行中的某一個狀態,一個sql語句,已查詢為例,可能需要經過copying to tmp table,Sorting result,Sending data等狀態才可以完成。

info列:顯示這個sql語句,因為長度有限,所以長的sql語句就顯示不全,但是一個判斷問題語句的重要依據。



常用需要修改的參數:

1、interactive_timeout

2、wait_timeout

1.interactive_timeout

伺服器關閉互動式串連前等待活動的秒數。互動式用戶端指在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的用戶端。

參數預設值:28800秒(8小時)

2.wait_timeout

伺服器在關閉非互動式串連在一個串連上等待活動的秒數。

參數預設值:28800秒(8小時)

問題:

在my.cnf中單獨修改wait_timeout,mysqld重啟後仍不生效;(widnows my.ini)

同時修改interactive_timeout和wait_timeout參數,重啟伺服器後生效。

注意:由於MySQL版本問題,有的時候只需要修改wait_timeout這個值。具體參數需要根據版本查看手冊。




本文出自 “[email protected]” 部落格,謝絕轉載!

MySQL線程用完,新串連無法串連的問題筆記!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.