mysql連接資料庫錯誤

mysql連接資料庫錯誤

兩週前,我購買了新伺服器,從那時起,有時我連接到該伺服器上的資料庫時會出錯。這是重啟mysqld後的錯誤日誌

var/log/mysqld.log:

131206 10:54:37 [ERROR] Error in accept: Too many open files
131206 10:58:53 [ERROR] Error in accept: Too many open files
131206 11:03:09 [ERROR] Error in accept: Too many open files
131206 11:07:25 [ERROR] Error in accept: Too many open files
131206 11:11:41 [ERROR] Error in accept: Too many open files
131206 11:15:58 [ERROR] Error in accept: Too many open files
131206 11:20:14 [ERROR] Error in accept: Too many open files
131206 11:24:30 [ERROR] Error in accept: Too many open files
131206 11:28:46 [ERROR] Error in accept: Too many open files
131206 11:33:02 [ERROR] Error in accept: Too many open files

我可以做什麼來解決這個問題?

抱歉英文不好。

更新:

能幫我更新 my.cnf 嗎?

[mysqld]
local-infile=0
innodb_file_per_table
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Linux server.com 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


PHP 5.3.27 (cli) (built: Nov 28 2013 02:21:29)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
    with the ionCube PHP Loader v4.4.4, Copyright (c) 2002-2013, by ionCube Ltd., and
    with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

mysql  Ver 14.14 Distrib 5.5.31, for Linux (x86_64) using readline 5.1

CentOS release 6.4 (Final)

答案1

您的上次更新表明您對許多打開的文件有問題。您必須增加 ulimit 作為最大開啟檔案數。

我認為預設是1024(你可以透過execute檢查它ulimit -a)。透過執行增加該值

ulimit -n 新值

這將其設定為此正在運行的會話的新值,該值立即生效

或者,如果您希望變更在重新啟動後繼續生效,請執行下列操作: 以 root 身分編輯檔案 /etc/security/limits.conf 並在末尾新增以下兩行:

* 軟諾文件 16000
*硬諾文件20000

上面兩行將文件句柄的最大數量 - nofile - 更改為新設定。

相關內容