不管是JavaEE开发还是其他,只要是Linux系统下安装的mysql,通常默认最大连接为270。

如果你的客户端连接超过这个数,通常要么是配置文件修改,或者是命令行修改,配置文件修改和命令行修改的区别是,配置文件,既然是文件通常持久化到硬盘,保存最长,如果是命令行的话,仅仅只能保持在Mysql运行状态,如果一旦MySQL因为某种原因宕机或者关闭了,命令行的方式就失效了。

比如我之前一个项目,使用的是SSM框架,在使用过程中最初出现了一个异常:

异常信息为:Too Many Connection

这是关键信息,通常就是MySQL连接数达到最大了。

解决办法一:

执行如下命令:

show variables like '%max_connections%';//查看当前最大连接数是多少,通常默认为270左右

set global max_connections=1000;//设置mysql最大连接数为1000
show processlist;// 该命令可以查看当前连接mysql的客户进程 

show gobal status like 'Thread%';// 可以查看当前mysql线程(其中可获得客户进程信息)

该解决办法发弊端:如果一旦MySQL重启,将会导致失效。

解决办法二:

进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf,找到 max_connections=270

将其修改为 max_connections=1000

然后重启MySQL后,执行:

show variable like '%max_connection%';

如果显示最大连接数为1000,表示修改成功,如果不是就表示修改失效,我之前通过这种方式修改,但是没有成功,最后只得通过命令行的形式修改,也就是第一种解决方案。

这两种是比较常用的、通用的解决方案。如果你的服务器是centos或者ubuntu关于mysql的相关的设置可以自行博客搜索。

不过,通常的话,没有这个必要。因为MySQL的连接数你可以设置很大很大,但是不一定有用,就好比生态系统一样,每个生态系统的构成都不一样,小的大的,生态系统的自我调节能力或者自我恢复能力、抗击外来风险能力都不一样。而MySQL也同理,就好比生态系统,不能让某一类植物或者动物疯狂生长,这回导致生态失衡,而MySQL里面的很多参数设置也不能随便乱调,必须考虑服务器和业务,如果业务过于庞大复杂,就不是一台服务器或者一台MySQL优化就能搞定的事情。MySQL主要的两大瓶颈就是CPU和I/O方面。

最新文章

  1. webapi frombody fromuri的参数绑定规则
  2. .net 附加W3wp进程
  3. CKEditor与CKFinder的配置
  4. java遍历Map的几种方式
  5. iOS开发UITableView基本使用方法总结1
  6. Java 线程池学习
  7. list-style-type -- 定义列表样式
  8. As input tri-stated
  9. LPC1768的USB使用--宏定义
  10. Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 项目)
  11. A Graph Partitioning Game Theoretical Approach for the VNF Service Chaining Problem
  12. wampserver修改端口号后,phpMyAdmin进不去,需要修改相关配置文件
  13. JAVA基础知识总结:十六
  14. 给 Windows 文件菜单添加 "用XX程序打开" "用XX编辑" "用XX运行"
  15. servlet 知识点 WebServlet("/")与WebServlet("/*")的区别
  16. gulp前端自动化环境搭建详解
  17. key是数字的对象集合
  18. Oracle RAC 归档 与 非归档 切换
  19. php中数组和字符串的相互转换
  20. 【codevs1282】约瑟夫问题 Treap

热门文章

  1. Python import搜索的路径顺序
  2. item2 快捷键
  3. 使用EXCEL 完成分组统计
  4. Maven 项目管理从未如此通畅
  5. Spring学习手札(二)面向切面编程AOP
  6. sql SUM求和
  7. 记录在window平台安装python的第三库(py,whl)
  8. Matlab给三维点云添加高斯噪声和随机噪声
  9. DOM增删操作(select动态增加和删除以及清空)
  10. VMware与Hyper-V