返回顶部
首页 > 资讯 > 数据库 >mysql 最大连接数max_connections解决办法
  • 880
分享到

mysql 最大连接数max_connections解决办法

mysql数据库服务器 2023-09-21 21:09:38 880人浏览 独家记忆
摘要

问题原因 1)客户端程序在退出之前没有调用Mysql_close()。[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接] 2)客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发

问题原因

1)客户端程序在退出之前没有调用Mysql_close()。[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接]

2)客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发出任何请求到服务器。[类似常连,类似于不完整的tcp ip协议构造,服务端一直认为客户端仍然存在(有可能客户端已经断掉了)]

3)客户端程序在结束之前向服务器发送了请求还没得到返回结果就结束掉了。[参看:tcp ip协议的三次握手]

解决办法

1删除过多的sleep连接。

2 修改max_connections 的最大连接数

mysql -uroot -ppassWord 连接数据库

show variables like ‘max_connections’  查看最大连接数

SHOW full PROCESSLIST; 查看所有连接。

show status like 'Threads%'; 查看连接总数

四. 合理设置超时时间

之所以会出现大量 sleep 占满连接,除了业务量的原因外,也有可以从超时时间着手调整,可根据实际情况适当缩短超时时间,让 Mysql 可在短时间自动清理超时连接,以达到保证连接通常的目的。

mysqld 连接超时参数有以下两个:

默认情况下,两者都是 28800 秒(8 小时),我们可以在 MySQL 配置文件中修改这两个参数。

如果你使用的是mysql_pconnect 这种持久连接的话,可以将超时时间降到更合适的值,比如 600 (10 分钟)甚至 60(1 分钟)。这个超时时间并没有一个明确的时间,主要还是要看你的应用场景中的实际需求。

1.在配置文件中修改超时时间(需重启 MySQL 生效):

首先打开 mysqld.cnf 配置文件。

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后在配置文件中找到这两行,并修改对应的参数:

[mysqld]interactive_timeout=60wait_timeout=60

关于MySQL 配置文件详解,你可以查看卡拉云的另一篇博客《MySQL 配置文件 my.cnf / my.ini 逐行详解

2.临时变更连接超时时间(无需重启):

SET GLOBAL interactive_timeout = 60;SET GLOBAL wait_timeout = 60;

注意:

  • 这是临时变更配置的方法,在重启 MySQL 后会恢复配置文件中的设置值。
  • 对于已经打开的连接,是不会被关闭的。只有新建立的连接才会在 60 秒后关闭。

扩展阅读:《如何远程连接 MySQL 数据库,阿里云腾讯云允许远程连接教程

五. 查看及修改最大连接数

在 MySQL 中,默认连接数为 151,我们可以通过修改 MySQL 配置文件永久调整连接数参数,也可以通过 SQL 命令临时调整。

1.查看当前 MySQL 连接数

mysql> show variables like '%max_connections%';+-----------------+-------+| Variable_name   | Value |+-----------------+-------+| max_connections | 151   |+-----------------+-------+1 row in set (0.01 sec)mysql>

2.临时调整当前 MySQL 连接数

set GLOBAL max_connections = 300;

3.通过修改 MySQL 配置文件调整最大连接数

首先打开 MySQL 配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在 [mysqld] 下面找到 max_connections ,如果没有可直接添加。

[mysqld]...max_connections = 300...

修改后重启 MySQL,使配置文件生效:

sudo systemctl restart mysql

重启后,进入 MySQL ,我们可以看到最大连接数配置已经生效。

mysql> show variables like '%max_connections%';+------------------------+-------+| Variable_name          | Value |+------------------------+-------+| max_connections        | 300   || mysqlx_max_connections | 100   |+------------------------+-------+2 rows in set (0.02 sec)mysql>

扩展阅读:《MySQL 配置文件 my.cnf / my.ini 逐行详解

六. 无法登录 MySQL 时,如何修改最大连接数

在无法登录又无法重启 MySQL 时,我们可以使用以下方法进行操作,以增大连接数。

1.修改 pid 增大连接数

我们可以使用 gdb 工具,在不进入数据库的情况下,修改最大连接数。

gdb -p $(cat data/kalacloud.pid) \-ex "set max_connections=5000" -batch
  • data/kalacloud.pid:将这里修改为你服务器中 pid 的文件路径及文件名。

此方法仅适用于特殊、紧急情况,在生产环境使用,有一定风险,慎用。

七. 提前布局,防患于未然

在 MySQL 配置文件中,有两个有关连接数的参数

  • max_connections:控制最大连接数。
  • max_user_connections:控制单个用户的最大连接数。当此参数为 100 时,那么任意用户(含 root 用户)最多可创建 100 个连接。

制定连接策略:

max_connections = 2000max_user_connections= 300

当 MySQL 有 6 个用户时(不含 root ),单个用户最大连接数为 300,那么 6 个用户最多有 1800 连接。那么系统总会剩下 200 个连接留给 root 使用。

 

来源地址:https://blog.csdn.net/a15804226768/article/details/127886517

您可能感兴趣的文档:

--结束END--

本文标题: mysql 最大连接数max_connections解决办法

本文链接: https://lsjlt.com/news/414583.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql 最大连接数max_connections解决办法
    问题原因 1)客户端程序在退出之前没有调用mysql_close()。[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接] 2)客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发...
    99+
    2023-09-21
    mysql 数据库 服务器
  • 修改MySQL最大连接数 max_connections
    前言 mysql 的默认最大连接数只有100,如果不修改的话,一旦建立的连接数超过这个限制,数据库将拒绝连接请求。如果同时在线的用户数多,将会导致程序异常卡顿。 因此在创建项目后,都必须修改该参数。M...
    99+
    2023-09-02
    mysql 数据库 服务器
  • mysql中如何解决max_connections最大为214的问题
    这篇文章主要介绍了mysql中如何解决max_connections最大为214的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • MYSQL 最大连接数
    MYSQL 最大连接数? 最大连接数也就是mysql服务最大支持多少客户端连接服务 查看服务支持最大连接数: show variables like '%max_connections%'; 如下: ...
    99+
    2023-10-23
    mysql 服务器 数据库
  • Mysql查看最大连接数和修改最大连接数的讲解
    MySQL查看最大连接数和修改最大连接数 1、查看最大连接数 show variables like '%max_connections%'; ...
    99+
    2024-04-02
  • MySQL 查看最大连接数和修改最大连接数
    1、查看最大连接数 mysql> show variables like "%max_connections%"; ±----------------±------+ | Va...
    99+
    2024-04-02
  • 超出MySQL最大连接数问题及解决
    目录超出mysql最大连接数问题查看最大连接数修改最大连接数MySQL最大连接数,TimeOut配置MySQL连接数配置Mysql的连接线程池Mysql TimeOut配置总结超出MySQL最大连接数问题 如果遇到MyS...
    99+
    2023-05-15
    MySQL最大连接数 MySQL连接数 超出MySQL最大连接数
  • 查看mysql的最大连接数,并修改最大连接数
    查看当前最大连接数 show variables like 'max_connections'; mysql默认最大连接数为151,最大连接数为100000 通过命令修改最大连接数 set global max_connections...
    99+
    2023-08-30
    mysql 数据库 linux
  • mysql最大连接数设置
    问题描述:很多时候都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况问题分析:造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增...
    99+
    2024-04-02
  • MySQL数据库最大连接数
    知识背景: MySQL最大连接数的默认值是100, 对于并发连接数很大的数据库来说,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些,在使用MySQL数据库的时候,经常...
    99+
    2024-04-02
  • golang结合mysql设置最大连接数和最大空闲连接数
    目录1.最大连接数测试2.最大空闲连接数测试3.参考本文介绍golang 中连接MySQL时,如何设置最大连接数和最大空闲连接数。 关于最大连接数和最大空闲连接数,是定义在golan...
    99+
    2024-04-02
  • 超出MySQL最大连接数的问题怎么解决
    今天小编给大家分享的是超出MySQL最大连接数的问题怎么解决,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。超出MySQL最大连接数问题如果遇到MySQ连接数超出最大限制了,不要慌,往...
    99+
    2023-07-06
  • 修改Oracle,mysql最大连接数
    1、修改Oracle最大连接数的方法      a、以sysdba身份登陆PL/SQL 或者 Worksheet   b、查询目前连接数 ...
    99+
    2024-04-02
  • mysql最大连接数是多少
    mysql最大连接数是151。mysql数据库最大连接数是指在同一时间内可以与 mysql数据库建立的最大连接数,这个数字对于高流量的Web应用程序和大型企业应用程序至关重要,如果超过了最大连接数,那么新的连接将无法建立,从而导致应用程序崩...
    99+
    2023-07-10
  • mysql最大连接数是什么
    MySQL最大连接数是指MySQL数据库服务器能够同时接受的最大客户端连接数,由配置文件中的max_connections参数定义,达到最大连接数,新的连接请求将被拒绝或进入等待状态,直到有现有连接被释放,在设置最大连接数时,结合实际需求和...
    99+
    2023-07-25
  • 怎么加大MySql的最大连接数
    这篇文章主要介绍“怎么加大MySql的最大连接数”,在日常操作中,相信很多人在怎么加大MySql的最大连接数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么加大MySql的...
    99+
    2024-04-02
  • 详解如何修改MySQL最大连接数
    修改 mysql 最大连接数 JDBC 操作MySQL数据库的时候 遇到这行报错 很明显 是数据库连接数超限了修改MySQL数据库连接数 具体操作如下 查看 MySQL 数据库当前默认支持最大连接数 show varia...
    99+
    2022-08-09
    修改MySQL最大连接数 MySQL最大连接数
  • mysql怎么设置最大连接数详解
    目录前言方法一:命令行修改方法二:通过mysql配置文件来修改最大连接数总结前言 设置mysql最大连接数的方法:首先打开mysql的控制台;然后输入语句【set GLOBAL ma...
    99+
    2024-04-02
  • mysql如何设置最大连接数详解
    这篇文章将为大家详细讲解有关mysql如何设置最大连接数详解,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。设置mysql最大连接数的方法:方法一:命令行修改我们只需要打开mysql的控制台,输入“set ...
    99+
    2023-06-29
  • golang结合mysql怎么设置最大连接数和最大空闲连接数
    本文小编为大家详细介绍“golang结合mysql怎么设置最大连接数和最大空闲连接数”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang结合mysql怎么设置最大连接数和最大空闲连接数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作