• 售前

  • 售后

热门帖子
入门百科

mysql怎样实现最大毗连数

[复制链接]
婚庆中国掌 显示全部楼层 发表于 2022-1-9 06:08:27 |阅读模式 打印 上一主题 下一主题
目次


  • 数据库毗连数突然增大是什么原因?
  • 一、媒介
  • 二、知识点
  • 三、实操
  • 四、参考资料

数据库毗连数突然增大是什么原因?

大概是数据库性能突然变慢,毗连的客户要很久才华得到相应,客户以为是本身没确认到,于是客户就不绝地毗连,这样会话就增长了,数据库就更忙了,最后大概会挂了。

一、媒介

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

二、知识点

     Mysql的max_connections参数用来设置最大毗连(用户)数。每个毗连MYSQL的用户均算作一个毗连,max_connections的默认值不同版本略有区别。
Mysql5.5 mysql5.6  mysql5.7:默认的最大毗连数都是151,上限为:100000

Mysql5.1根据其小版本的不同,默认的最大毗连数和可修改的毗连数上限也有所不同

Mysql5.0版本:默认的最大毗连数为100,上限为16384

     吐槽一下mysql版本的命名,从5.7一下跳到8.0版本。Mysql5.5 mysql5.6  mysql5.7:默认的最大毗连数都是151。这个数值对于并发毗连很多的数据库应用是远不敷用的。当毗连请求大于默认毗连数后,就会出现无法毗连数据库的错误,因此我们须要把它得当调大一些。在使用 MySQL 数据库的时间,常常会碰到一个题目,就是”Can not connect to MySQL server. Too many connections” -mysql 1040 错误,这是由于访问MySQL且还未开释的毗连数已经到达 MySQL 的上限。MySQL无论怎样都会保留一个用于管理员(SUPER)登陆的毗连,用于管理员毗连数据库举行维护操纵,即使当前毗连数已经到达了max_connections。因此MySQL的实际最大可毗连数为max_connections+1;增长max_connections参数的值,不会占用太多体系资源。体系资源(CPU、内存)的占用重要取决于查询的密度、服从等;该参数设置过小的最显着特性是出现”Too many connections”错误;

三、实操

1、查看最大毗连数
Mysql5.5 mysql5.6  mysql5.7:默认的最大毗连数都是151,上限为:100000
  1.     mysql> show variables like "%max_connections%";
  2.     ±----------------±------+
  3.     | Variable_name  | Value|
  4.     ±----------------±------+
  5.     | max_connections|  151 |
  6.     ±----------------±------+
  7.     1 row in set (0.00 sec)
复制代码
2、查看服务器相应的最大毗连数
  1. mysql> show global status like 'Max_used_connections';
  2. +----------------------+-------+
  3. | Variable_name        | Value |
  4. +----------------------+-------+
  5. | Max_used_connections | 11    |
  6. +----------------------+-------+
  7. 1 row in set (0.00 sec)
复制代码
可以看到服务器相应的最大毗连数为11,远远低于mysql服务器答应的最大毗连数值。对于mysql服务器最大毗连数值的设置范围比力理想的是:服务器相应的最大毗连数值占服务器上限毗连数值的比例值在10%以上,假如在10%以下,阐明mysql服务器最大毗连上限值设置过高。
3、修改最大毗连数
常用的修改最大毗连数的两种方式如下:
第一种:下令行修改最大毗连数(max_connections),设置最大毗连数为1000。
  1. mysql> set global max_connections = 1000;
复制代码
这种方式有个题目,就是设置的最大毗连数只在 MySQL 当前服务进程有用,一旦MySQL重启,又会规复到初始状态。由于MySQL启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
第二种:通过修改配置文件来修改MySQL最大毗连数(max_connections)。
进入MySQL安装目次,打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100,修改为max_connections=1000,重启MySQL服务即可。

四、参考资料

1、https://www.yisu.com/zixun/38410.html
2、https://bbs.huaweicloud.com/blogs/147608
到此这篇关于mysql怎样实现最大毗连数的文章就先容到这了,更多相关mysql 最大毗连数内容请搜刮脚本之家以前的文章或继续欣赏下面的相关文章希望各人以后多多支持脚本之家!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作