当前位置:首页 > Mysql教程 > 列表

mysql 1040错误提示Too many connections的解决方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-12 15:39:50 浏览: 评论:0 

最简单的办法是因为你的my.ini中设定的并发连接数太少或者系统繁忙导致连接数被占满 解决方式:打开MYSQL安装目录打开MY.INI找到max_connections默认是100 .

实例:WINDOWS解决MYSQL Errno.:1040错误

  1. XXXX info: Can not connect to MySQL server 
  2. User: root 
  3. Time: 2004-5-20 3:00pm 
  4. Script: /XXXX/XXXX.php 
  5. Error: Too many connections 
  6. Errno.: 1040 
  7. An error report has been dispatched to our administrator. 

上面错误观点提示:

1.可能是mysql的max connections设置的问题

2.可能是多次insert,update操作没有关闭session,需要在spring里配置transaction支持。

解决:

1.修改tomcat里的session 的time-out时间减少为20,(不是必改项)

2.对处理量大的对数据库insert或update的操作提供transaction支持.

下面的是解决办法,代码如下:

  1. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections" 

原因:因为你的mysql安装目录下的my.ini中设定的并发连接数太少或者系统繁忙导致连接数被占满.

解决方式:打开MYSQL安装目录打开MY.INI找到max_connections(在大约第93行)默认是100 一般设置到500~1000比较合适,重启mysql,这样1040错误就解决啦。

max_connections=1000

一定要重新启动MYSQL才能生效,代码如下:

  1. CMD-> 
  2. net stop mysql 
  3. net start mysql 

关于改变innodb_log_file_size后无法启动mysql的问题,代码如下:

  1. innodb_buffer_pool_size=768M 
  2. innodb_log_file_size=256M 
  3. innodb_log_buffer_size=8M 
  4. innodb_additional_mem_pool_size=4M 
  5. innodb_flush_log_at_trx_commit=0 
  6. innodb_thread_concurrency=20 
  7. --phpfensi.com 

以上是对innodb引擎的初步优化,发现是更新innodb_log_file_size=256M时候出现了问题,只要加上这个就无法启动,后来才知道原来要STOP服务先,然后再删除原来的文件………

打开/MySQL Server 5.5/data,删除ib_logfile0, ib_logfile1........ib_logfilen,再开启选项,成功启动.

高手优化的MYSQL my.ini的1000人在线配置,代码如下:

  1. #This File was made using the WinMySQLAdmin 1.4 Tool  
  2. #2004-2-23 16:28:14  
  3. #Uncomment or Add only the keys that you know how works.  
  4. #Read the MySQL Manual for instructions  
  5. [mysqld]  
  6. basedir=D:/mysql  
  7. #bind-address=210.5.*.*  
  8. datadir=D:/mysql/data  
  9. #language=D:/mysql/share/your language directory  
  10. #slow query log#=  
  11. #tmpdir#=  
  12. #port=3306  
  13. set-variable = max_connections=1500  
  14. skip-locking  
  15. #skip-networking  
  16. set-variable = key_buffer=384M  
  17. set-variable = max_allowed_packet=1M  
  18. set-variable = table_cache=512  
  19. set-variable = sort_buffer=2M  
  20. set-variable = record_buffer=2M  
  21. set-variable = thread_cache=8  
  22. # Try number of CPU's*2 for thread_concurrency  
  23. set-variable = thread_concurrency=8  
  24. set-variable = myisam_sort_buffer_size=64M  
  25. #set-variable = connect_timeout=5  
  26. #set-variable = wait_timeout=5  
  27. server-id = 1  
  28. [isamchk]  
  29. set-variable = key_buffer=128M  
  30. set-variable = sort_buffer=128M  
  31. set-variable = read_buffer=2M  
  32. set-variable = write_buffer=2M  
  33. [myisamchk]  
  34. set-variable = key_buffer=128M  
  35. set-variable = sort_buffer=128M  
  36. set-variable = read_buffer=2M  
  37. set-variable = write_buffer=2M  
  38. [WinMySQLadmin]  
  39. Server=D:/mysql/bin/mysqld-nt.exe

Tags: mysql1040 connections

分享到: