MySQL資料庫 Too many connections

來源:互聯網
上載者:User

標籤:nis   isa   myisam   too   can   資訊   資料庫   safe   兩種方法   

出現這種錯誤明顯就是 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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.