【Laradock】ローカル開発環境用にテストDBを作成

MySQLのロゴ画像
  • URLをコピーしました!

ローカル環境で開発する際、データベース はテスト用のものを用意するのが一般的らしいです。

 

今回はLaradockで立ち上げたMySQLとphpMyAdminを使って、テスト用のデータベースを作成しようと思います。

 

 

 

目次

MySQLとphpMyAdminコンテナの立ち上げ

 

docker-composeでMySQLとphpMyAdminコンテナを立ち上げます。

 

$ docker-compose up -d nginx mysql phpmyadmin

 

この時、

 

WARNING: Host is already in use by another container

 

というエラーが出た場合は、こちらの記事を参照してください。

 

 

データベースの作成

 

まずはrootでphpMyAdminにログインする。

 

SQLSTATE[HY000][2054]  The server requested authentication method unknown to the client

 

ログイン時に上記のエラーが出る場合は、こちらの記事を参照してください。

 

 

ログイン後、まずはローカル開発環境用のデータベースを作成します。

 

データベース名を「testdb(任意の名前)」、照合順序を「utf8_general_ci」として「作成」をクリック。

 

testdbの作成

 

 

ユーザの作成

 

開発用データベースを作成したら、次はユーザを作成します。

 

「ユーザアカウント > ユーザアカウントを追加する」に進み、ユーザ名とパスワードを入力します。

 

今回は「testdb_user」と「pass」にします。

 

ユーザの作成

 

ユーザ情報の入力

 

 

入力し終わったら、残りは何もチェックせずに下にある「実行」をクリックします。

 

すると、以下の画面に遷移するので、次は「データベース」をクリックします。

 

新規ユーザ作成後の画面

 

 

で、「testdb」を選択して「実行」します。

 

testdbを選択

 

 

最後に、以下のようにこのユーザに権限を付与して「実行」します。

 

作成したユーザに権限を付与

 

 

これで、開発環境用データベースを操作するための新規ユーザの作成が完了しました。

 

testdb_userでphpMyAdminにログインできるようになってるはずです。

 

 

 

Laravelプロジェクトの.envの編集

 

ルートディレクトリの中にある.envを以下のように変更します。

 

...省略...

  9 DB_CONNECTION=mysql
 10 DB_HOST=mysql
 11 DB_PORT=3306
 12 DB_DATABASE=testdb       # テスト用DB名
 13 DB_USERNAME=testdb_user  # テスト用DBにログインするユーザ名
 14 DB_PASSWORD=pass         # テスト用DBにログインするためのパスワード

...省略...

 

 

以上です。php artisan migrateなどでtestdbにアクセスできるようなってるはずです。

 

 

参考URL

【MySQL】照合順序とは?

 

この記事を書いた人

コメント

コメントする

目次