首页 文章

安装迁移期间mysql服务器出错了(laravel)

提问于
浏览
5

所以我在我的laravel文件夹上使用我的cmd并尝试做(php artisan migrate:install) . 出现了2个错误 .

  • [PDOException] SQLSTATE [HY000] [2006] MySQL服务器已经消失

  • [ErrorException] PDO :: __ construct():MySQL服务器已经消失

谁能解释一下我做错了什么?

6 回答

  • -1

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

    检查此链接:MySQL Gone Away

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

    • 数据库引擎正在运行

    • 您已创建数据库

    • 您已创建用户并已授予数据库权限

    • 您已在Laravel的.env文件中设置了用户和数据库 .

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

    php artisan migrate
    

    正如所解释Here

    如果有帮助,请告诉我们:) .

  • 3

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

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

    [mysqld]
    max_allowed_packet=16M
    

    NOTE: 这可以在服务器上运行时设置 . 一旦完成,您需要 restart MySQL服务 .

    使用: set global max_allowed_packet=104857600 . 我的 Value 设置为100MB .

  • 1

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

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

  • 2

    在我的情况下,问题是我将 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

  • 0

    如果有人正在寻找解决方案,请尝试清除您拥有的所有缓存,您可以手动删除 bootstrap/cache 文件夹中的缓存文件 . 请勿触摸packages.php和services.php .

  • 0

    我在我的laravel应用程序中遇到了这个问题,即使我尝试连接vanilla PHP,我也收到了此错误消息

    • 使用mysqli

    PHP警告:mysqli :: __ construct():执行caching_sha2 auth时出现意外的服务器:109

    • 使用PDO

    PHP警告:未捕获的PDOException:PDO :: __ construct():在执行caching_sha2 auth时出现意外的服务器:在php shell代码中为21:1

    我相信PHP仍然不支持这种身份验证方式

    Laravel版本5.6我的PHP版本7.2.10 MySQL版本8.0.13

    解决这个问题我删除了MySQL,然后安装它并选择此选项
    use legacy authentication method ( Retain MySQL 5.x compatibility )

    use legacy authentication method ( Retain MySQL 5.x compatibility )

相关问题