web-dev-qa-db-ja.com

移行のインストール中にmysqlサーバーがエラーを解消しました(laravel)

だから私は自分のlaravelフォルダーでcmdを使用していて、(php artisanmigrate:install)を実行しようとしました。2つのエラーが発生しました。

  1. [PDOException] SQLSTATE [HY000] [2006] MySQLサーバーがなくなりました

  2. [ErrorException] PDO :: __construct():MySQLサーバーがなくなりました

誰かが私が間違ったことを説明できますか?

5
Mackinley

これはLaravelの問題ではなく、一般的なMySQLの問題です。サーバーが実行されていない可能性があります。MySQLをバックグラウンドで実行していますか?

このリンクを確認してください: MySQL Gone Away

システムで次のチェックを実行します。

  1. データベースエンジンが実行されています
  2. データベースを作成しました
  3. ユーザーを作成し、データベースへのアクセス許可を付与しました
  4. Laravelの.envファイルにユーザーとデータベースを設定しました。

この後、migrationsコマンドを再度実行してみてください。これは次のとおりです。

php artisan migrate

説明したように ここ

それが役立つかどうか教えてください:)。

3
Andrés Smerkin

クエリ中にサーバーへのSQL接続が失われました。それは一時的な問題です。これは、max_allowed_packetのデフォルト設定が非常に低いためです。

max_allowed_packetmy.cnf([mysqld]の下)を8または16Mに上げると、通常は修正されます。

[mysqld]
max_allowed_packet=16M

注:これは、サーバーの実行時に設定できます。完了したら、MySQLサービスをrestartする必要があります。

使用:set global max_allowed_packet=104857600。私の値はそれを100MBに設定します。

2
Hassaan

私にとって問題は、Laravelプロジェクトの.envファイルに間違ったポートを割り当てたことであるように思われました。後で、それをmy.cnfファイルと照合すると、機能しました。 。

私はUbuntu16.04 + nginx + MariaDB + Laravelプロジェクトを使用しています。

1
Mill3r

誰かが解決策を探している場合は、持っているすべてのキャッシュをクリーンアップしてみてください。手動でbootstrap/cacheフォルダー内のキャッシュファイルを削除できます。

0
Serhii Cho

私の場合、問題はDB_Hostlocalhostに変更したことでしたが、default、つまり127.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
Black Mamba

他の答えに加えて:

  • 127.0.0.1.envの両方でlocalhostドメインをconfig/database.phpに変更してみてください。
  • また、gitを使用している場合は、git statusをチェックして、不要なファイルが変更されていないかどうかを確認してください。

私の場合、ファイルconfig/database.phpのmysql接続構成のoptions配列がどういうわけか空白の配列だったからです。 git checkout config/database.phpファイルをチェックアウトしましたが、正常に動作し始めました。

0
Saleh Mahmood