MySQL数据库最大连接数和单次最大写入量 - Go语言中文社区

MySQL数据库最大连接数和单次最大写入量


1.最大连接数

项目中可能会遇到MySQL: ERROR 1040: Too many connections”的情况。造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;另一种原因就是MySQL配置文件中max_connections值过小。

查看mysql的最大连接数:

show variables like '%max_connections%';

查看当前连接数:

show global status like 'Max_used_connections';

对于mysql服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高.

Max_used_connections / max_connections * 100%

MySQL无论如何都会保留一个用于管理员(SUPER)登录的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了max_connections。因此MySQL的实际最大可连接数为max_connections+1;

Mysql5.5 mysql5.6 mysql5.7:默认的最大连接数都是151,上限为:100000 
Mysql5.0版本:默认的最大连接数为100,上限为16384

设置这个最大连接数值:

set GLOBAL max_connections=1024;
show variables like '%max_connections%';

这种 方式在Mysql重启后就失效。

永久有效方法:

修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:
max_connections=512

再重启mysql服务即可。

2.单次最大写入量

抛出的异常是:
Packet for query is too large . You can change this value on the server by setting the max_allowed_packet' variable.

5.6.37版本的mysql默认单条语句最大4mb。

查看最大单次写入量max_allowed_packet

show VARIABLES like '%max_allowed_packet%';

修改my.cnf,在[mysqld]下新增:
max_allowed_packet = 16M

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/superit401/article/details/97757273
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:15:21
  • 阅读 ( 905 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢