首頁 > 資料庫 > mysql教程 > MySQL資料庫報錯:Too many connections的解決辦法

MySQL資料庫報錯:Too many connections的解決辦法

黄舟
發布: 2017-09-11 11:29:22
原創
2835 人瀏覽過

出現這種錯誤明顯就是mysql_connect 之後忘記mysql_close;
當大量的connect之後,就會出現Too many connections的錯誤,mysql預設的連線為100個,而什麼情況下會出現這種錯誤呢?
正常的mysql_connect 之後呼叫mysql_close()關閉連線
但在連線錯誤時,會者mysql_real_query()出現錯誤退出時,可能忘記mysql_close();
所以在程式return 之前一定要判斷是否close(),最穩健的方法就是寫任何函數時都只有一個出口!
還有可以透過修改mysql設定檔來增加允許連線的數量!
有時你的伺服器是常出現這樣的錯誤呢:
錯誤訊息如下:

Can not connect to MySQL server
Error: Too many connections
Errno.: 1040
Similar error report has beed dispatched to administrator before.
登入後複製

從官方文件知道Linux上面編譯安裝的mysql預設的連線為100個
文檔:

http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html
登入後複製

mysql官方告訴我們需要修改max_connections的值,那我們怎麼去修改呢?有兩種方法
1、修改設定檔檔
修改/etc/my.cnf這個文件,在[mysqld] 中新增max_connections=N,如果你沒有這個檔請從編譯源碼中的support- files資料夾中複製你所需要的*.cnf檔案為到/etc/my.cnf。我使用的是my-medium.cnf,中型伺服器配置。例如我的[mysqld]的內容如下

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 160M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000
登入後複製

由於對mysql還不是很熟悉,所以很多參數都沒有修改。哈哈。 。
2、非使用mysqld腳本自動啟動的使用者。
修改$MYSQL_HOME/bin/mysqld_safe檔案
例如:

/usr/local/mysql/bin/mysqld_safe这个文件
grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe
登入後複製

修改對應行號的max_connections參數值

以上是MySQL資料庫報錯:Too many connections的解決辦法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板