質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.58%

Laravel7のチュートリアルについて

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 942

score 35

お世話になります。今年エンジニア見習いとして社会人となりましたKonoLv1と申します。

現在、Laravelについて勉強しており下記のサイトのチュートリアルを行っているところです。
 Laravel 7 Tutorial For Beginners

端末:MAC
環境:Homestead

Step 3: Create Migrationを進めていたところ、下記のエラーによりうんともすんとも進めなくなったので
解決策をご存知の方がいらっしゃいましたらご教授いただけましたら幸いです。

何卒よろしくお願いいたします。

php artisan migrate
 Illuminate\Database\QueryException 

  SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = blog and table_name = migrations and table_type = 'BASE TABLE')

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:670
    666|         // If an exception occurs when attempting to run a query, we'll format the error
    667|         // message to include the bindings with SQL, which will make this exception a
    668|         // lot more helpful to the developer instead of just the database's errors.
    669|         catch (Exception $e) {
  > 670|             throw new QueryException(
    671|                 $query, $this->prepareBindings($bindings), $e
    672|             );
    673|         }
    674| 

      +37 vendor frames 
  38  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))


下記のサイトを参考しましたが、下記の部分がいまいちわからず解決には至っておりません。
参考サイト
イメージ説明


追加情報(.env)

APP_NAME=blog
APP_ENV=local
APP_KEY=base64:1QJrB*********=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

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

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

追加情報2

イメージ説明

追加情報3

イメージ説明

追加情報4(ターミナル)

***@***MacBook-Pro blog % php artisan config:clear
Configuration cache cleared!
***@***MacBook-Pro blog % php artisan migrate     

   Illuminate\Database\QueryException 

  SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = homestead and table_name = migrations and table_type = 'BASE TABLE')

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:670
    666|         // If an exception occurs when attempting to run a query, we'll format the error
    667|         // message to include the bindings with SQL, which will make this exception a
    668|         // lot more helpful to the developer instead of just the database's errors.
    669|         catch (Exception $e) {
  > 670|             throw new QueryException(
    671|                 $query, $this->prepareBindings($bindings), $e
    672|             );
    673|         }
    674| 

  • Database name seems incorrect: You're using the default database name `homestead`. This database does not exist.

    Edit the `.env` file and use the correct database name in the `DB_DATABASE` key. 
    https://laravel.com/docs/master/database#configuration

      +37 vendor frames 
  38  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
***@***MacBook-Pro blog % 

解決
イメージ説明

DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret


ターミナルで

php artisan migrate


を打ち込む前に、

cd Homestead
vagrant ssh
cd ~/code
php artisan migrate

と手順を踏むことにより解決しましたが、その後また躓いたため、継続させていただきます。

イメージ説明

Illuminate\Database\QueryException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select count(*) as aggregate from `products`)


チュートリアルを最後まで行ったところ、表示されたページがこのようになっております。

引き続きご教授いただけましたら幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+2

.env に書かれているデータベースの接続情報を確認してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/05 18:16

    homesteadの設定いじったんでしょうね。

    キャンセル

  • 2020/04/05 19:39

    @Kosuke_Shibuya氏

    その可能性が高いとみて確認中です。
    本当にありがとうございました。

    解決するまで進めていきます。
    また進展ありましたら編集して情報を追加いたします。

    キャンセル

  • 2020/04/05 20:01

    Kosuke_Shibuya氏

    結果的にHomesteadには問題ありませんでしたが、
    データベース・ユーザー・パスワードについて、全く分からないところ大変助かりました。
    この度はご教授いただきまして誠にありがとうございました!

    キャンセル

checkベストアンサー

-2

データベースが起動されていないのではないでしょうか?

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/05 18:55

    「追加情報4(ターミナル)」では、HomesteadにSSHせずにマイグレートしようとしていますが、
    「追加情報2」のように、HomesteadにSSHしてからマイグレートする必要があると思います。

    キャンセル

  • 2020/04/05 20:00 編集

    Lulucom氏

    仰るとおりSSHしてからマイグレートすることにより解決いたしました。
    この度は、ご教授いただきまして誠にありがとうございました!

    キャンセル

  • 2020/04/05 20:28

    いえいえ、それは何よりです。ご報告ありがとうございます。
    当初からSSHせずにmacでマイグレートしようとしてしまい、macではMySQLが動いていないので「Connection refused」になっていたのだと思われます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.58%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る