解決Mysql錯誤Too many connections的方法

MySQL數據庫 Too many connections
出現這種錯誤明顯就是 mysql_connect 以後忘記 mysql_close;
當大量的connect以後,就會出現Too many connections的錯誤,mysql默認的鏈接爲100個,而什麼狀況下會出現這種錯誤呢?html

正常的mysql_connect 以後調用 mysql_close()關閉鏈接
但在鏈接錯誤時,會者mysql_real_query()出現錯誤退出時,可能忘記mysql_close();
因此在程序return 以前必定要判斷是否close(),最穩妥的方法就是在寫任何函數時都只有一個出口!
還有能夠經過修改mysql配置文件來加大容許鏈接的數量!mysql

有時你的服務器是常常出現這樣的錯誤呢:
錯誤信息以下:
Can not connect to MySQL serverlinux

Error: Too many connections
Errno.: 1040
sql

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的值,那麼咱們怎麼去修改呢?有兩種方法
一、修改配置文件文件
修改/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=1000socket


因爲對mysql還不是很熟悉,因此不少參數沒有修改。哈哈。。ide

二、非使用mysqld腳本自動啓動的用戶。
修改$MYSQL_HOME/bin/mysqld_safe文件
例如:/usr/local/mysql/bin/mysqld_safe這個文件
grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe
修改對應行號的max_connections參數值函數

相關文章
相關標籤/搜索