laravel

Laravel8.Xで立ち上げたアプリのDBにMySQLWorkBenchで接続する方法【画像つき】

2021年7月19日

データベースへの接続

 

Laravel8.xで、公式ドキュメントに沿って立ち上げたアプリのDBにMySQLWorkBenchで接続したときの流れをまとめました。

 

【前提】

公式ドキュメントにてプロジェクト立ち上げ済み

・http://localhostで表示を確認できている

 

Laravel8.Xで立ち上げたアプリのDBにMySQLWorkBenchで接続する方法

 

結論から話すと、以下の流れでOKです。

 

・①:MySQLにアクセスするポートを変更

・②:.envファイルで接続情報を確認

・③:接続

 

それぞれについて解説します。

 

①MySQLにアクセスするポートを変更

 

まずは、MySQLにアクセスするポートを変更しておきましょう。

しなくてもいいのですが、デフォルトの「3306」は意外と他のプロジェクトで使ってたりすることもあるので、念のため変更します。

(かぶっていると、MySQLにログインできないです。Access Deniedで怒られます)

 

docker-compose.ymlで変更しましょう。

以下のコードのportsの部分を編集します。

 

 mysql:
        image: 'mysql:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3310}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        volumes:
            - 'sailmysql:/var/lib/mysql'
        networks:
            - sail
        healthcheck:
          test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
          retries: 3
          timeout: 5s

 

変更前

 

${FORWARD_DB_PORT:-3306}

 

変更後

 

${FORWARD_DB_PORT:-3310}

 

ちなみに、${FORWARD_DB_PORT:-3310}のあとの3306は変更しなくてもいいの?と思うかもですが、こちらはコンテナのポートになるので、気にしなくてOKです。

 

変更したら、コンテナのMySQLを再起動しておきましょう。

 

②.envファイルで接続情報を確認

 

docker-compose.ymlでは、直にアクセス情報は書かれていません。

次のような感じで、環境変数で書かれています。

(DB_PASSWORDとか)

 

MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'

 

で、DB_PASSWORDとかがどこに書かれているかですが、「.env」にかかれています。

プロジェクトのルートディレクトリに移動して、以下のコマンドを叩きましょう。

ファイルの中身を見ることができます。

 

 less .env

 

ズラズラっと出てきますが、DBのところをチェックしてみましょう。

接続情報を確認できますね。

 

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password

 

ちなみに、本番環境にデプロイ(リリース)するときは、このような簡単なパスワードやユーザーは設定しないようにしてくださいね。

各環境ごとにenvファイルを用意するのがオススメです。

 

③接続

 

ポートも設定して、接続情報も確認できたのであとは接続です。

MySQLWorkBenchの接続設定を以下のようにしましょう。

 

MySQLWorkBenchの接続画面

 

右下のtest connectionを選択します。

すると、パスワードを求められるので先程確認したパスワード(password)を入力します。

 

MySQLWorkBenchの接続パスワード入力画面

 

以下のようになっていれば成功です。

 

MySQLWorkBenchの接続成功画面

 

今回は以上です。

お疲れさまでしたm(_ _)m

 

プログラミングスクールに関する情報

【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
【転職保証つき】返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。   1位:DMMWEBキャンプ  【 ...

続きを見る

wordpress
【無料あり】WEB制作を学べるオンラインスクールランキング【副業で稼ぎたい方向け】

  あなたWeb制作の副業で稼ぎたいけど、どのスクールで学ぶのが良いの? スクール選びで失敗はしたくないです。   ↑このような疑問や不安を解決するべく、現役のWebエンジニアがWEB制作を学べるスク ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきました。 結論から話すと ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   結論から話すと、WEB系自社開発に行きやすいスクールのランキングは以下の通り。   第1位:テックアカデミー ...

続きを見る

-laravel

S