如何修复MySQL错误:连接过多

MySQL错误简介:连接过多

当您的Web应用程序(网站,博客,论坛等)需求量很大,即有大量用户访问时,这意味着服务器上的消耗增加。 如果上述网络应用程序使用MySQL数据库,并且查询的次数确实很多(由于网络编程错误或许多使用网络的用户),MySQL可能会显示此错误:

mysqli_connect(): (HY000/1040): Too many connections

MySQL:连接过多错误是什么意思?

这意味着进入MySQL的请求太多,超过了它的接受范围,也超过了排队或等待的范围。

怎么解决呢?

很简单,我们必须增加MySQL支持的请求(连接)的最大限制。

我将给您两个选择来解决此问题:

1. 我们编辑文件/etc/mysql/my.cfg:

nano /etc/mysql/my.cfg

在其中,我们将以下内容写在[mysql]:

max_connections = 500 max_user_connections = 500

这会将最大连接数从100(默认值)增加到500。

我们保存并退出,然后重新启动MySQL服务,仅此而已。 此更改是永久性的。

2. 解决此问题的另一种方法是将最大限制更改为相等,但要通过MySQL查询。

让我们首先显示当前限制:

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

这将向我们显示以下内容:

+ ----------------- + ------- + | 变量名| 价值| + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

换句话说,当前限制为151个连接,好吧,通过查询将其提高到500个:

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

准备好了!

这样的问题是,当重新启动服务时,此配置将丢失。

要提供此详细信息,您可以制作一个每X次验证一次的bash脚本,甚至将行添加到守护程序的start或restart块中。

但是,为什么我想知道第二个选项? 嗯,这就是我以前说的。 但是一个月前,Ubuntu Server忽略了No.2方法,因此...在极端愚蠢的OS中,我们有第二个选项也能正常工作😉


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   NEX

    好的帖子,MySql…他们在FreeBSD中使用很多,….KZKG ^ Gaara?,…如果您发表关于如何在FreeBSD中安装和配置MySql的帖子,例如SSH(安全-shell),SSH(通过Web),SFTP,那将是很好的(SSH文件传输协议),Apache-PHP-MySql,PHP5和PhpSysInfo扩展。

    1.    KZKG ^ Gaara

      为此,我将不得不安装FreeBSD,我认为我现在没有时间,我只是换了工作,并且承担了许多新的职责🙁

  2.   扫罗

    我最近不得不为使用nodejs的项目做类似的事情。 就我而言,它增加到了250,这对我来说已经足够了,现在我还不错。 感谢您的信息

  3.   旧金山

    您好,您能帮我输入/etc/mysql/my.cfg吗?

    我有一个VPS,但无法进入PUTTY。

    问候。

  4.  

    要解决选项1-评论的选项的问题,并在重新启动服务器时保留更改,必须根据版本编辑文件:

    ////////////////////////////////////////////////// ////////////////////
    //在Ubuntu 16.04中更改目录/////////////////////
    ////////////////////////////////////////////////// ////////////////////
    我看到了/etc/mysql/mysql.conf.d/mysqld.cnf

    ////////////////////////////////////////////////// ////////////////////
    //在Ubuntu 15.04中更改目录/////////////////////
    ////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ////////////////////////////////////////////////// ////////////////////
    //我在Ubuntu旧版本中更改了目录//////////////////////
    ////////////////////////////////////////////////// ////////////////////

    我看到了/etc/mysql/my.cnf

    ////////////////////////////////////////////////// ////////////////////
    //在[mysqld]或[mysql]标记下添加此行//
    //然后重启服务器//
    ////////////////////////////////////////////////// ////////////////////
    最大连接数 = 500

  5.   愤怒

    零教程随时告诉您如何更改它