🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
MySQL

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Amazon EC2

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

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

2328閲覧

【AWS EC2】データベース作成ができない【rails】

kaori_oka

総合スコア176

MySQL

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

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/11/17 09:32

編集2019/11/17 10:37

前提・実現したいこと

dbを作ろうとすると下記のようなエラーが出ます。
passwordを途中から変更したのですが、それによって齟齬が出てしまったようです。
思いつく限りの箇所は修正したのですが、ずっと同じエラーが出るので詳しい方にご意見伺いたく!

発生している問題・エラーメッセージ

パスワードは全て仮で「testcode」とさせていただきます。現在、この部分は共通した文字列が入っています。

[ec2-user@ip-172-31-39-44 chat-space2]$ rails db:create RAILS_ENV=production Access denied for user 'root'@'localhost' (using password: NO)Please provide the root password for your MySQL installation >testcode Access denied for user 'root'@'localhost' (using password: YES) Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8", "pool"=>5, "username"=>"root", "password"=>nil, "socket"=>"/var/lib/mysql/mysql.sock", "database"=>"chat-space2_production"} rails aborted! Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: YES) /var/www/chat-space2/bin/rails:9:in `require' /var/www/chat-space2/bin/rails:9:in `<top (required)>' /var/www/chat-space2/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO) /var/www/chat-space2/bin/rails:9:in `require' /var/www/chat-space2/bin/rails:9:in `<top (required)>' /var/www/chat-space2/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Tasks: TOP => db:create (See full trace by running task with --trace)

該当のソースコード

yml

1 2〜略〜 3default: &default 4 adapter: mysql2 5 encoding: utf8 6 pool: 5 7 username: root 8 password: testcode 9 socket: /tmp/mysql.sock 10 11〜略〜 12 13production: 14 <<: *default 15 database: chat-space2_production 16 username: root 17 password: <%= ENV['testcode'] %> 18 socket: /var/lib/mysql/mysql.sock 19

vim

1DATABASE_PASSWORD='testcode' 2SECRET_KEY_BASE='**********'

試したこと

学習中の身でして、カリキュラムにそった開発をしております。
カリキュラム上でpasswordが必要と書かれた箇所は変更したのですが
他にも漏れがあるのでしょうか。
ご意見伺いたく。

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

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

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

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

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

siruku6

2019/11/17 10:27

全然関係ないことですが、vimは関係なさそうなので、タグから外していいと思います。 また、データベースよりはmysqlタグの方がよさそうです。 (回答するかどうかを、ある程度タグで判断される方も多いと思いますので、次からの参考に...)
kaori_oka

2019/11/17 10:38

ご意見を参考にタグ修正しました! たくさん入れればいいってものでもないのですね!詳細なほうがいいと勝手に持ってました! ありがとうございます。
guest

回答1

0

ベストアンサー

yaml

1# database.yml 2production: 3 <<: *default 4 database: chat-space2_production 5 username: root 6 password: <%= ENV['testcode'] %> 7 socket: /var/lib/mysql/mysql.sock 8

これだと、testcodeという環境変数名を探し、その中の値を使おうとします。

でも、実際に存在している環境変数名は、DATABASE_PASSWORD SECRET_KEY_BASEという二つだけとお見受けします。

なので、次のように変更すると良さそうです。

yaml

1# database.yml 2production: 3 <<: *default 4 database: chat-space2_production 5 username: root 6 password: <%= ENV['DATABASE_PASSWORD'] %> 7 socket: /var/lib/mysql/mysql.sock

mysql接続エラーはそれ以外の理由でもちょこちょこ発生するので、すぐには解決しないかもしれませんが、慣れたら大体どこが怪しいかわかってくると思いますので、経験を積んでいって下さい。

投稿2019/11/17 10:25

siruku6

総合スコア1382

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

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

kaori_oka

2019/11/17 10:35

すみません引き続きご質問よろしいでしょうか。 ``` sudo /usr/libexec/mysql56/mysqladmin -u root password '設定したいパスワード' ``` mysqlのパスワードを上記のファイルたちと同じように書き換えたらdb作成がうまくいったのですが、 これはこれでいいのでしょうか。。。 でも一旦ymlを修正してdb作り直したほうが良さそうですね。
siruku6

2019/11/18 07:54

DATABASE_PASSWORDに入っているパスワードと、mysqlパスワードが一致していれば特にdb作り直しは必要ないと思います! もちろんymlのpassword部分を正しく修正する必要はありますが
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問