首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5.4和Mariadb出现太多连接错误

问Laravel 5.4和Mariadb出现太多连接错误
EN

Stack Overflow用户
提问于 2017-05-30 01:47:04
回答 3查看 13.7K关注 0票数 8

我最近将我的laravel应用程序从5.1升级到5.4。我的服务器现在运行在PHP7和Maria db 10.1.22上。现在我得到了一个非常奇怪的错误。有时,我只是尝试刷新我的浏览器,PHPMyAdmin会显示#1040 - Too many connections。其他时候,我会点击我的应用程序上的新链接,然后会得到同样的错误。我在互联网上做了一些研究,并执行了以下命令:

代码语言:javascript
复制
show variables like 'max_connections`

上面的命令给出了100。然后我将其增加到500。

但现在我还是得到了错误。这对我来说很奇怪,因为我在另一台服务器上安装了oracle MySQL5.6,max_connections是151,一年半以来我都没有遇到过这个错误。

当我运行命令show processlist时,我得到了下面的结果,并且不断增加。这是正常的吗?

​

​

Mariadb可能有什么问题,我该如何解决它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-10 19:35:41

我不确定你们是否找到了解决方案,但我也面临着同样的问题,并找到了解决方案。当我们将laravel应用程序从5.2升级到5.4时,我们遗漏了一些重要的东西。php工匠队列:工作也升级了。

在laravel 5.2中,当我们执行queue:work时。它一次只处理一个作业,但在laravel 5.4队列中:work为队列创建连接并使其保持连接。所以如果你有queue:在cron中每分钟运行一次,它每分钟都会创建一个新的连接,这就是为什么我们会得到连接太多的错误。

我在laravel 5.4文档中找不到这些信息。我通过php artisan查看了queue:work的描述,发现描述被更改了。

这是在laravel 5.2中的描述:

队列:work >>>>处理队列中的下一个作业

这是在laravel 5.4中描述的

队列:work >>>>开始将队列中的作业作为后台进程进行处理

正如您可以看到的那样,它们的目的是不同的。

我希望这能帮到你。

谢谢。

票数 12
EN

Stack Overflow用户

发布于 2017-05-30 01:56:21

也许这是一个愚蠢的观察,但是你有没有使用DB::disconnect('foo')来关闭你的数据库的连接呢?

不管怎么说,数据库会自动关闭,所以问题可能出在别的地方,你有没有试过监控?

innotop是监视MySQL的一个非常强大的工具。你可以在这里找到它:

https://github.com/innotop/innotop

检查this

票数 2
EN

Stack Overflow用户

发布于 2017-05-30 13:37:23

您使用的是什么What服务器。如果是Apache,那么它的 (以前称为MaxClients)的设置是什么?一般来说,它应该不超过20。

如果该值设置为大于max_connections,则可以解释您所看到的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44248036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档