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

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

詳細はこちら
MySQL

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

Ruby on Rails

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

2069閲覧

Unknown MySQL server host 'db' (0)を消したい

raintree

総合スコア10

MySQL

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

Ruby on Rails

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2019/10/07 02:45

編集2019/10/08 12:19

#環境
MacOS Mojave 10.14.6
Ruby 2.6.4
Rails 5.2.2
mysql Ver 8.0.17 for osx10.14 on x86_64 (Homebrew)
#1.実現したいこと
rails sでサーバーを立ち上げたい
#2.問題
Mysql2::Error::ConnectionError
Unknown MySQL server host 'db' (0)
#3.terminal

terminal

1$ rails server 2=> Booting Puma 3=> Rails 5.2.2 application starting in development 4=> Run `rails server -h` for more startup options 5 6warning package.json: No license field 7warning No license field 8Puma starting in single mode... 9* Version 3.12.1 (ruby 2.6.4-p104), codename: Llamas in Pajamas 10* Min threads: 5, max threads: 5 11* Environment: development 12* Listening on tcp://localhost:3000 13Use Ctrl-C to stop 14Started GET "/" for ::1 at 2019-10-07 11:33:27 +0900 15 16Mysql2::Error::ConnectionError (Unknown MySQL server host 'db' (0)): 17 18$ docker-compose ps 19 Name Command State Ports 20-------------------------------------------------------------------------------- 21rails_test_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp 22rails_test_web_1 bundle exec rails s -p 300 ... Exit 1

#4.docker-compose.yml

version: '3' services: web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/app ports: - 3000:3000 depends_on: - db tty: true stdin_open: true db: image: mysql:5.7 volumes: - db-volume:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password volumes: db-volume:

#5.database.yml

# MySQL. Versions 5.0 and up are supported. # # Install the MySQL driver # gem install mysql2 # # Ensure the MySQL gem is defined in your Gemfile # gem 'mysql2' # # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.7/en/old-client.html # default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: password host: db development: <<: *default database: app_development # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: app_test # As with config/secrets.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is # ever seen by anyone, they now have access to your database. # # Instead, provide the password as a unix environment variable when you boot # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database # for a full rundown on how to provide these environment variables in a # production deployment. # # On Heroku and other platform providers, you may have a full connection URL # available as an environment variable. For example: # # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" # # You can use this database configuration with: # # production: # url: <%= ENV['DATABASE_URL'] %> # production: <<: *default database: app_production username: app password: <%= ENV['APP_DATABASE_PASSWORD'] %>

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

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

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

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

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

guest

回答1

0

ベストアンサー

MySQLの設定(ユーザ、データベースなど)が誤っていることが原因です。
あるいは、MySQLがインストールされていないことが原因です。

投稿2019/10/07 02:56

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

raintree

2019/10/07 10:31

ありがとうございます。 インストールはされているようなので、設定に問題があるようです
退会済みユーザー

退会済みユーザー

2019/10/07 10:48

すいません、Docker環境でしたね。 Dockerのデータベース名と、database.ymlのデータベース名が異なっていますが大丈夫ですか?
raintree

2019/10/08 03:40

ファイルの内容を更新しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問