时间:2021-05-25
发现问题
最近在项目中遇到一个问题,由于连接数过多,提示 “Too many connections” ,需要增加连接数。
我在 /etc/my.cnf中修改了:
max_connections = 2000但是, 实际连接数一直被限制在 214:
mysql> show variables like "max_connections";+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 214 |+-----------------+-------+1 row in set思考
如果我设置连接小于214时,比如 200,那么实际连接数就是 200,也就是说,我的配置文件是没有问题的。
查 MySQL 官方文档,里面说了:
The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding. Windows is limited to (open tables × 2 + open connections) < 2048 due to the Posix compatibility layer used on that platform.
Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.
大概意思是 MySQL 能够支持的最大连接数量受限于操作系统,必要时可以增大 open-files-limit。换言之,连接数与文件打开数有关。
解决方法
[root@sqzr ~]# ulimit -n1024可知,操作系统最大文件描述符限制为 1024。
更改 MySQL 在 Linux 的最大文件描述符限制,编辑 /usr/lib/systemd/system/mysqld.service 文件,在文件最后添加:
LimitNOFILE=65535LimitNPROC=65535保存后,执行下面命令,使配置生效
$ systemctl daemon-reload$ systemctl restart mysqld.service实际连接数到 2000 了,解决
mysql> show variables like "max_connections";+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_connections | 2000 |+-----------------+-------+1 row in set参考
https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html
https:///question/853151_241231
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文章来给各位同学总结一下APACHE中限制IP连接数与IP并发数和流量控制实现方法,如果只限制连接数据我们可以直接使用limit,如果要限制其它的需要使用其它
MySQL查看最大连接数和修改最大连接数1、查看最大连接数showvariableslike'%max_connections%';2、修改最大连接数setGL
禁用Vista/Win7中的TCP半开连接数限制 步骤如下,适用于WindowsVista/Server2008/7。1.开始菜单-运行2.输入regedit
一般情况下,网站服务器的IIS连接限制主要体现在IIS连接数上,这主要是并发的连接数,也就是网站瞬间可以同时存在的最大连接数
我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MySQ