自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解決MySQL錯(cuò)誤Too many connections的方法

數(shù)據(jù)庫(kù) MySQL
當(dāng)大量的connect之后,就會(huì)出現(xiàn)Too many connections的錯(cuò)誤,mysql默認(rèn)的連接為100個(gè),而什么情況下會(huì)出現(xiàn)這種錯(cuò)誤呢?

解決Mysql錯(cuò)誤Too many connections的方法 

MySQL數(shù)據(jù)庫(kù) Too many connections

出現(xiàn)這種錯(cuò)誤明顯就是 mysql_connect 之后忘記 mysql_close;

當(dāng)大量的connect之后,就會(huì)出現(xiàn)Too many connections的錯(cuò)誤,mysql默認(rèn)的連接為100個(gè),而什么情況下會(huì)出現(xiàn)這種錯(cuò)誤呢?

正常的mysql_connect 之后調(diào)用 mysql_close()關(guān)閉連接

但在連接錯(cuò)誤時(shí),會(huì)者mysql_real_query()出現(xiàn)錯(cuò)誤退出時(shí),可能忘記mysql_close();

所以在程序return 之前一定要判斷是否close(),最穩(wěn)妥的方法就是在寫(xiě)任何函數(shù)時(shí)都只有一個(gè)出口!

還有可以通過(guò)修改mysql配置文件來(lái)加大允許連接的數(shù)量!

有時(shí)你的服務(wù)器是經(jīng)常出現(xiàn)這樣的錯(cuò)誤呢:

錯(cuò)誤信息如下:

  1. Can not connect to MySQL server  
  2. Error: Too many connections  
  3. Errno.: 1040  
  4. Similar error report has beed dispatched to administrator before. 

從官方文檔知道Linux上面編譯安裝的mysql默認(rèn)的連接為100個(gè)

文檔:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

mysql官方告訴我們需要修改max_connections的值,那么我們?cè)趺慈バ薷哪??有兩種方法

1、修改配置文件文件

修改/etc/my.cnf這個(gè)文件,在[mysqld] 中新增max_connections=N,如果你沒(méi)有這個(gè)文件請(qǐng)從編譯源碼中的support-files文件夾中復(fù)制你所需要的*.cnf文件為到 /etc/my.cnf。我使用的是my-medium.cnf,中型服務(wù)器配置。例如我的[mysqld]的內(nèi)容如下:

  1. [mysqld]  
  2. port = 3306  
  3. socket = /tmp/mysql.sock  
  4. skip-locking  
  5. key_buffer = 160M  
  6. max_allowed_packet = 1M  
  7. table_cache = 64  
  8. sort_buffer_size = 512K  
  9. net_buffer_length = 8K  
  10. read_buffer_size = 256K  
  11. read_rnd_buffer_size = 512K  
  12. myisam_sort_buffer_size = 8M  
  13. max_connections=1000 

由于對(duì)mysql還不是很熟悉,所以很多參數(shù)沒(méi)有修改。哈哈。。

2、非使用mysqld腳本自動(dòng)啟動(dòng)的用戶。

修改MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe這個(gè)文件grep−n‘maxconnection′

MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe這個(gè)文件grep−n‘maxconnection′MYSQL_HOME/bin/mysqld_safe

修改對(duì)應(yīng)行號(hào)的max_connections參數(shù)值

3、服務(wù)器登錄mysql : mysql -u root -p

百分之九十進(jìn)不去,進(jìn)不去的執(zhí)行重啟命令 :/etc/init.d/mysql restart(centos系統(tǒng))

此時(shí)重啟mysql就能連接mysql了,如果還有時(shí)間,可以繼續(xù)下一步,治病要治本

打開(kāi)配置文件 添加一下配置 vi /etc/my.cnf

  1. wait_timeout = 600  
  2. interactive_timeout = 600 

再次重啟mysql即可

原理解答

mysql 默認(rèn)100 連接數(shù),超過(guò)則連不上,實(shí)際工作的連接數(shù)遠(yuǎn)遠(yuǎn)沒(méi)有100,大部分在sleep

所以要么增大連接數(shù),要么殺掉無(wú)用連接,推薦后者。 

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2024-01-07 20:05:33

2023-12-25 14:47:14

2024-09-04 16:00:24

PostgreSQL數(shù)據(jù)庫(kù)

2023-04-26 00:06:22

服務(wù)器死循環(huán)報(bào)錯(cuò)

2017-01-09 16:35:25

socket函數(shù)fd備用

2021-02-09 08:13:51

項(xiàng)目內(nèi)存TCP

2011-05-16 09:54:22

mysql1067錯(cuò)誤

2010-03-29 17:46:39

Nginx asp

2010-10-19 10:25:29

SQL Server連

2010-06-17 10:32:13

開(kāi)機(jī)顯示Grub

2012-08-15 14:01:18

2011-09-19 19:21:54

linux

2009-06-17 15:33:50

java heap s

2011-05-18 14:44:13

mysql1046錯(cuò)誤

2011-08-30 13:48:50

phpmyadmin

2010-02-24 16:30:52

WCF常見(jiàn)錯(cuò)誤

2010-05-14 17:27:40

MySQL中文亂碼

2010-10-13 17:22:12

MySQL查詢亂碼

2010-05-26 17:09:02

IPv6路由廣播

2010-01-15 10:31:19

Linux編譯
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)