mysql Error 1040 too many connection解決辦法
1、當最大連線數比較小時,可能會出現“1040 too many connection”錯誤。
首先需要重啟mysql服務,執行命令:service mysql restart
也有可能是:service mysqld restart
2、登入mysql:mysql -uroot -p
輸入密碼,回車;
3、登入成功後執行以下語句查詢當前的最大連線數:select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';
4、執行以下語句修改最大連線數:set global max_connections = 3600;MYSQL資料庫安裝完成後,預設最大連線數是100,一般流量稍微大一點的論壇或網站這個連線數是遠遠不夠的,雖然通過連線池可以將連線數設定為固定的100,可是在下那BT同事將所有的連線池都設定成了100,話說我們小組有5個人……再話說,個人除錯有必要設定那麼高麼……不過牢騷歸牢騷,問題依然需要解決。
方法一:進入MYSQL安裝目錄 開啟MYSQL配置檔案 my.ini 或 my.cnf查詢 max_connections=100 修改為 max_connections=1000 服務裡重起MYSQL即可。此方法用於Windows下的mysql設定,簡單方便。如果是Linux的話,請看下面。
方法二:MySQL的最大連線數預設是100
客戶端登入:mysql -uroot -p
設定新的最大連線數為1000:mysql> set GLOBAL max_connections=1000
顯示當前執行的Query:mysql> show processlist
顯示當前狀態:mysql> show status
退出客戶端:mysql> exit
檢視當前最大連線數:mysqladmin -uroot -p variables
這個辦法治標不治本,重啟服務以後最大連線數還是100。這個方法用於緊急擴充最大連線數用,不是長久之計。
方法三:以centos 5.4 下面的mysql 5.0.83 rpm版本為例說明:
找到/usr/bin/mysqld_safe編輯它,找到mysqld啟動的那兩行,在後面加上引數 :
-O max_connections=1000
用紅字特別說明:
if test -z "$args"
then
$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1000 >>
$err_log 2>&1
else
ev al "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O
max_connections=1000 >> $err_log 2>&1"
fi
這段程式碼很不好找,在下也無法說清楚它具體在哪個位置。不過建議從最後往前找會比較快。
重啟mysql服務:# service mysql restart
檢視當前最大連線數:# /usr/local/mysql/bin/mysqladmin -uroot -p variables
輸入root資料庫賬號的密碼後可看到
max_connections 1000 即新改動已經生效。
還有一種方法是修改原始碼,在下沒有試過,就不再多說了