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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

796閲覧

AWS EC2 接続済みのDBインスタンスがmysqlで表示されない

NaotoCrappy

総合スコア10

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2019/07/07 02:36

編集2019/07/07 03:58

背景

個人的なLaravelのプロジェクトをAWS EC2(無料枠)を使用してデプロイしようとしています。

###問題

RDSのインスタンスには接続が完了しています。
また、Laravelのmigrationにも成功しています。

ですので、mysql で DBの一覧を確認すれば,
RDSのインスタンス名が表示されるはずだと考えていました。

しかし、mysqlでDBの一覧を確認すると、
"information_schema"と"test"しかなく、想定とは違いました。

疑った原因(一応)

私の知見では以下の2つぐらいしか原因の検討がつきませんでした。
おそらく的外れかと思いますが、私のレベルを知っていただくという意味でも一応記載させていただきます。

1.
「RDSのインスタンス名 = DB名 という理解であっているか」
(調べる限りあってるらしいですが、はっきりした記述発見できず)

2.
「RDSへの接続は完了しているものの、実際にmysqlを操作するユーザーはRDSインスタンスを作成したマスターユーザーとは異なる」
(実際に操作するユーザー = "naoto@ip" , マスターユーザー = "beyou_01" : .envの"DB_USERNAME"には"beyou_01"を記述しています。しかし、"naoto@ip"でRDSインスタンスに接続できているのでこの「ユーザー名が異なる件」も関係ないと判断)

私の今回の問題は程度が低すぎるのか、
同じ問題に関する情報を見つけることができなかったので、質問させていただいた次第です。

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

追記

.env

RDS

イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

原因【RDSのインスタンス名を変更したにもかかわらず、その後にEC2インスタンスに再接続していなかった】

インスタンス名を現在の"beyou"に変更を行いました。
その後に以下のコマンドで名称変更後のエンドポイントでの接続を行うべきでした。
mysql -h 変更後のエンドポイント -P 3306 -u [Username] –p [Name]

しかし、エンドポイントを変更しない場合でもLaravelのmigrationは成功していたため、
mikkameさんの助言がなければ気づけなかったと思います。

変更後のエンドポイントで再接続してmysqlでDB一覧を確認すると、"beyou"が入っており、
テーブルもmigrationされたものが入っていました。

ありがとうございました。

投稿2019/07/07 06:43

NaotoCrappy

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「RDSのインスタンス名 = DB名 という理解であっているか」

いいえ、違います。
RDSはデータベースサーバです。
内部に複数のデータベース(データベース名を持つもの)を作成できます。
さらにデータベース内に複数のテーブルを作成できます。

一旦、laravel設定内のデータベース名を確認してみてはいかがでしょうか
(文中にDB_USERNAMEしか確認されてないようなので)

投稿2019/07/07 03:38

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NaotoCrappy

2019/07/07 04:18 編集

mikkameさん、ご回答ありがとうございます! >RDSはデータベースサーバです。 はっきりお答えいただき、ありがとうございます! たしかにRDSはデータベースサーバーですが、そのインスタンスに関してはいかがでしょうか? (私が「RDSのインスタンス」と言っているものは、追記写真「RDS」に映っている「beyou」のことです。 これがDBではないということなら、糸口になりそうですが・・・) >一旦、laravel設定内のデータベース名を確認してみてはいかがでしょうか ありがとうございます! .envの内容確認という意味でしたら、データベース名はRDSのインスタンスと一致していました。
mikkame

2019/07/07 04:23

RDSのインスタンスはデータベースサーバです。 複数のデータベースを設定できます。 レンタルサーバとは違い、データベースを借りるのではなく データーベースサーバごと借りれるので、内部に複数のデータベースを作成できるはずです。 > .envの内容確認という意味でしたら、データベース名はRDSのインスタンスと一致していました。 一致している必要はありません。そこの識別子はサーバにつけるニックネームです。 接続で重要なのはエンドポイント、ユーザー名、パスワードです。 識別子は不要です。 今しがた確認してきましたが、RDSを作成する時点ではデータベースは作成されないようです。 (EBの時はebdbが自動生成されるが) どちらかといえば > Laravelのmigrationにも成功しています。 こちらが疑わしいのでは、と思います
NaotoCrappy

2019/07/07 04:45 編集

>RDSのインスタンスはデータベースサーバです。 >今しがた確認してきましたが、RDSを作成する時点ではデータベースは作成されないようです。 誠にありがとうございます。 その件を糸口に解決に臨んでみます。 >>"どちらかといえば > Laravelのmigrationにも成功しています。 こちらが疑わしいのでは、と思います" ありがとうございます。 これは「DBもないのにどこにmigrationしたのか」という意味で怪しいといことでしょうか?
mikkame

2019/07/07 04:48

はい、そうです。 もう一度 php artisan migrateをして何もする事がないよ、みたいな正常終了メッセージがでるか確認してみてください
NaotoCrappy

2019/07/07 05:20 編集

ありがとうございます! mikkameさんのおかげで新たな糸口が見えたので、引き続き調査します。 またなにかあったら、アップデートします。 ps もう一度migrateすると、「nothing to migrate」と帰ってきたので、やはりどこかのDBにつながってしまっていそうです。
mikkame

2019/07/07 06:32

php artisan tinkerでCLIに入ったあとに config('database') を実行して、設定が反映されているかどうかも確認してみてください
NaotoCrappy

2019/07/07 06:45

ちょうど解決することができました。 mikkameさんの助言のおかげです。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問