安装迁移期间mysql服务器已消失错误(laravel)

Posted

技术标签:

【中文标题】安装迁移期间mysql服务器已消失错误(laravel)【英文标题】:mysql server has gone away error during installing migration (laravel) 【发布时间】:2016-05-04 08:33:18 【问题描述】:

所以我在我的 laravel 文件夹中使用我的 cmd,我尝试这样做(php artisan migrate:install)。出现了 2 个错误。

    [PDOException] SQLSTATE[HY000] [2006] mysql 服务器已消失

    [ErrorException] PDO::__construct(): MySQL 服务器已消失

谁能解释我做错了什么?

【问题讨论】:

【参考方案1】:

您在查询期间丢失了与服务器的 SQL 连接。这是暂时的问题。这是因为max_allowed_packet 的默认设置非常低。

my.cnf(在[mysqld]下)中的max_allowed_packet提高到8或16M通常可以修复它。

[mysqld]
max_allowed_packet=16M

注意:这可以在您的服务器运行时设置。完成后,您需要restart MySQL 服务。

使用:set global max_allowed_packet=104857600。我的值设置为 100MB。

【讨论】:

【参考方案2】:

这不是 Laravel 问题,而是一般 MySQL 问题。也许服务器没有运行。你确定你在后台运行 MySQL 吗?

查看此链接:MySQL Gone Away

在您的系统中进行以下检查:

    数据库引擎正在运行 您已创建数据库 您已创建用户并授予数据库权限 您已经在 Laravel 的 .env 文件中设置了用户和数据库。

之后,再次尝试运行迁移命令,即:

php artisan migrate

正如Here解释的那样

让我们知道这是否有帮助:)。

【讨论】:

【参考方案3】:

对我来说,问题似乎是我为我的 Laravel 项目的 .env 文件分配了错误的端口。后来,当我将它与my.cnf 文件匹配时,它起作用了。

我正在使用 Ubuntu 16.04 + nginx + MariaDB + Laravel 项目。

【讨论】:

同样的问题。我在 ENV 中为我的数据库连接分配了错误的端口。【参考方案4】:

在我的情况下,问题是我将DB_HOST 更改为localhost,但通过保留default127.0.0.1 并将端口默认为3306 已修复。 这是xampp中localhost的配置:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=hmb
DB_USERNAME=root
DB_PASSWORD=

虽然我使用localhost:8081/phpmyadmin 访问我的db

【讨论】:

【参考方案5】:

如果有人正在寻找解决方案,请尝试清理您拥有的所有缓存,您可以手动删除 bootstrap/cache 文件夹中的缓存文件。

【讨论】:

【参考方案6】:

除了其他答案:

尝试在.envconfig/database.php 中将localhost 域更改为127.0.0.1。 此外,如果您使用的是git,请检查git status 并查看是否更改了任何不需要的文件。

因为在我的情况下,文件config/database.php 中用于mysql 连接配置的options 数组不知何故是空白数组。我检查了git checkout config/database.php 文件,它开始正常工作。

【讨论】:

【参考方案7】:

我遇到了同样的问题。解决办法是把mysql端口号从3306或者80删除,留空 在文件中

.env DB_PORT=3306DB_PORT= 和上

database.php 'port' => env('DB_PORT', '3306'),'port' => env('DB_PORT', ''),

【讨论】:

【参考方案8】:

我的解决方案是修复 DB_HOST 参数。实际上,我使用 PHPStorm 并在 .env 中设置了公共 url,以便使用 IDE 中的 DB 工具和这个损坏的 Laravel。 所以我将 DB_HOST 更改为 localhost,Laravel 现在可以正常工作了。

【讨论】:

以上是关于安装迁移期间mysql服务器已消失错误(laravel)的主要内容,如果未能解决你的问题,请参考以下文章

解决“MySQL 服务器已消失”错误

MySQL导入导致“服务器已消失”错误[重复]

SQLAlchemy 错误 MySQL 服务器已消失

错误 2006 (HY000): MySQL 服务器已消失

PHP站点中突然出现“MySQL服务器已消失”错误

间歇性 MySQL 服务器已消失错误