解决MySQL / MariaDB“连接过多”错误

2020年12月31日19:41:10 发表评论 75 次浏览

介绍

了解如何解决MySQL / MariaDB"太多连接"错误, 该错误在使用所有可用的MySQL / MariaDB连接时发生。在连接到MySQL / MariaDB的脚本中, 或者在从MySQL / MariaDB数据库提供的元素(全部或部分)生成的网页上, 可能会发生此错误。

选择新的最大连接数

系统变量max_connections确定MySQL / MariaDB将接受的连接数。默认值为151个连接, 这允许150个普通连接以及来自超帐户。

首先要确定的是要设置的新最大值max_connections。当增加MySQL / MariaDB连接的数量时, 要考虑几个因素。系统可以支持的最大数量取决于:

  • 可用RAM的数量。
  • 每个连接占用多少RAM(简单查询比需要更多人工的连接需要更少的RAM)。
  • 可接受的响应时间。

根据MySQL文档, 大多数Linux系统应该能够轻松支持500-1000个连接。

更改max_connections

的max_connections变量将需要在两个地方更改:

  1. 更新my.cnf文件, 以便在重新启动MySQL / MariaDB服务器时使用新值。
  2. 使用设置全球命令以更新正在运行的MySQL / MariaDB服务器上的值。

幸运的是, 通过使用此方法, 你将不需要重新启动MySQL / MariaDB, 因此无需经历任何停机时间。

显示当前的max_connections值

查看当前数量max_connections使用以下命令登录到MySQL / MariaDB命令行客户端:

mysql -u root -p

使用命令:

SHOW variables;

这将输出为MySQL / MariaDB设置的所有变量的列表。向上滚动列表以查找以下值:max_connections.

更新my.cnf

开启档案/etc/my.cnf使用以下命令进行编辑:

sudo nano /etc/my.cnf

在第一行的正下方:

[mysqld]

添加一行:

max_connections=[desired new maximum number]

例如, 设置max_connections到200, 文件的前两行将显示为:

[mysqld]
max_connections=200

保存并退出文件。

设置全球

使用以下命令登录到MySQL / MariaDB命令行客户端:

mysql -u root -p

设置新max_connections值与命令:

SET GLOBAL max_connections=[desired new maximum number];

例如, 设置max_connections到200, 命令是:

SET GLOBAL max_connections=200;

使用以下命令退出MySQL / MariaDB:

quit;
一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: