MySQL "too many connections" 错误之mysql解决方法

解决方法是修改/etc/mysql/my.cnf,添加如下一行:
set-variable = max_connections=500

或在启动命令中加上参数 max_connections=500
就是修改最大链接数,而后重启mysql.默认的链接数是100,太少了,因此容易出现如题错误.
如下是mysql.com网站的相关说明:
If you get a Too many connections error when you try to connect to the mysqld server, this means that all available connections are in use by other clients.

The number of connections allowed is controlled by the max_connections system variable. Its default value is 100. If you need to support more connections, you should restart mysqld with a larger value for this variable.

mysqld actually allows max_connections+1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege. By granting the SUPER privilege to administrators and not to normal users (who should not need it), an administrator can connect to the server and use SHOW PROCESSLIST to diagnose problems even if the maximum number of unprivileged clients are connected. See Section 13.5.4.19, “SHOW PROCESSLIST Syntax”.

The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform. Linux or Solaris should be able to support 500-1000 simultaneous connections, depending on how much RAM you have and what your clients are doing. Static Linux binaries provided by MySQL AB can support up to 4000 connections.

mysql

1.多是mysql的max connections设置的问题
2.多是屡次insert,update操做没有关闭session,须要在spring里配置transaction支持。spring

解决:
1.修改tomcat里的session 的time-out时间减小为20,(不是必改项)
2.对处理量大的对数据库insert或update的操做提供transaction支持.

=======================================
下面的是解决办法:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"sql

缘由:数据库

由于你的mysql安装目录下的my.ini中设定的并发链接数太少或者系统繁忙致使链接数被占满tomcat

解决方式:session

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

必定要从新启动MYSQL才能生效ide

CMD->优化

net stop mysql网站

net start mysql

关于改变innodb_log_file_size后没法启动mysql的问题

innodb_buffer_pool_size=768M
innodb_log_file_size=256M
innodb_log_buffer_size=8M
innodb_additional_mem_pool_size=4M
innodb_flush_log_at_trx_commit=0
innodb_thread_concurrency=20
以上是对innodb引擎的初步优化, 发现是更新innodb_log_file_size=256M时候出现了问题,只要加上这个就没法启动,

后来才知道原来要STOP服务先,而后再删除原来的文件………
打开/MySQL Server 5.5/data

删除ib_logfile0, ib_logfile1........ib_logfilen
再开启选项,成功启动

相关文章
相关标签/搜索