mysql的1135錯誤解決方案

來源:互聯網
上載者:User

   mysql的1135的報錯資訊如下:

  SQLSTATE[HY000] [1135] Can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug

  解決方案:

  修改my.ini,增加2個參數:

  innodb_thread_sleep_delay=40

  wait_timeout=100

  interactive_timeout=100

  重啟MYSQL伺服器

  以上的問題主要是線程數太多:

  1.是串連數太多

  2.是每個線程允許的生命週期太長,就跟http的timeout一樣。

  LINUX下檢查串連數的方法如下:

  ps -aux | grep mysql

  【補充知識】================================

  MySQL中的配置參數interactive_timeout和wait_timeout

  (1)interactive_timeout:

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

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

  (2)wait_timeout:

  參數含義:伺服器關閉非互動串連之前等待活動的秒數。

  線上程啟動時,根據全域wait_timeout值或全域interactive_timeout值初始化會話wait_timeout值,取決於用戶端類型(由mysql_real_connect()的串連選項CLIENT_INTERACTIVE定義)。

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

  MySQL伺服器所支援的最大串連數是有上限的,因為每個串連的建立都會消耗記憶體,因此我們希望用戶端在串連到MySQL Server處 理完相應的操作後,應該中斷連線並釋放佔用的記憶體。如果你的MySQL Server有大量的閑置串連,他們不僅會白白消耗記憶體,而且如果串連一直在累加而不斷開,最終肯定會達到MySQL Server的串連上限數,這會報'too many connections'的錯誤。對於wait_timeout的值設定,應該根據系統的運行情況來判斷。在系統運行一段時間後,可以通過show processlist命令查看當前系統的串連狀態,如果發現有大量的sleep狀態的串連進程,則說明該參數設定的過大,可以進行適當的調整小些。

  問題:

  如果在設定檔my.cnf中只設定參數wait_timeout=100,則重啟伺服器後進入,執行:

  Mysql> show variables like “%timeout%”;

  會發現參數設定並未生效,仍然為28800(即預設的8個小時)。

  查詢資料後,要同時設定interactive_timeout和wait_timeout才會生效。

  【mysqld】

  Wait_timeout=100

  Interactive_timeout=100

  重啟MySQL Server進入後,查看設定已經生效。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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