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

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

新規登録して質問してみよう
ただいま回答率
85.38%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

MySQL

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

Q&A

解決済

2回答

977閲覧

docker-composeでMySQL5.7を起動して接続したい

退会済みユーザー

退会済みユーザー

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

MySQL

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

0グッド

1クリップ

投稿2020/05/12 14:48

編集2020/05/13 11:41

前提・実現したいこと

docker-composeでMySQL5.7を起動して接続したい

dockerで立ち上げたアプリのDB(MySQL5.7)にアクセスしたいのですが、パスワード入力が違うとログインできません。
docker-compose.ymlの設定が以下の場合、passwordでログインできると思っているのですが間違っていますでしょうか。
すみませんが、アドバイスをお願いします。

追加:アプリのコード全体を追加します。
https://github.com/mkakiz/tadakashi_app

% docker-compose ps Name Command State Ports ------------------------------------------------------------------------ アプリ名_app_db_1 docker-entrypoint.sh Up 3306/tcp, 33060/tcp mysqld % docker exec -it アプリ名_app_db_1 bash root@****:/# mysql -u root -p Enter password: ****

エラ〜メッセージ

Enter password: **** ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

設定ファイル

(docker-compose.yml) version: '3' services: web: build: . command: bundle exec rails s -p 3003 -b '0.0.0.0' volumes: - .:/app ports: - 3003:3003 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:
(database.yml) default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: password host: db development: <<: *default database: app_development test: <<: *default database: app_test production: <<: *default database: app_production username: app password: <%= ENV['APP_DATABASE_PASSWORD'] %>

参考:docker-composeでMySQL5.7を起動して接続してみた

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

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

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

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

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

guest

回答2

0

rails5 と MySQL の連携をさせる例を見つけました。こちらが参考にならないでしょうか?

丁寧すぎるDocker-composeによるrails5 + MySQL on Dockerの環境構築(Docker for Mac) - Qiita

db側の port の bind がないのは、気になっています。

未検証ですけど。

【追記】
あと、rails 側の database.yml とかどうなっているのかとかも。

投稿2020/05/12 15:06

編集2020/05/12 15:57
Yasumichi

総合スコア1773

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

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

comefigo

2020/05/12 15:30 編集

> db側の port の bind がないのは、気になっています そうですね。同じく気になります。 どこから接続したいのかによります。 上記のサンプルコードを見る限りは、DBコンテナでmysqlクライアントで接続しようとして接続できないことを指しているのでしょうか? 一応DBコンテナでmysql -u root -pで試しましたがログインできました。(mysql:5.7で検証済み)
退会済みユーザー

退会済みユーザー

2020/05/13 00:47

お二方、コメントありがとうございます。 接続はローカル(DBコンテナ)からとなります。
comefigo

2020/05/13 01:06

一度dbのvolumesをコメントアウトしてから試していただけますか?
退会済みユーザー

退会済みユーザー

2020/05/13 01:52

コメントありがとうございます。 db: image: mysql:5.7 # volumes: # - db-volume:/var/lib/mysql に変更してから再実行しました。同じエラーが表示されました。
comefigo

2020/05/13 03:38 編集

一度compose downして再度実行してみてください
退会済みユーザー

退会済みユーザー

2020/05/13 11:19

レスありがとうございます。 残念ながら同じ結果になってしまいました。 % docker-compose down % docker-compose up -d % docker exec -it アプリ名_app_db_1 bash root@*****# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
comefigo

2020/05/13 12:17 編集

上記のdocker-compose.ymlのdbサービスのみで試しましたら、問題なく接続できました・・・ docker-compose down後にdocker ps -a に該当のコンテナないことを確認していただけませんか? あと、一度 docker volume rm db-volume でボリュームを削除してから再度compose up してはいかがでしょうか? ※db-volume内のデータは削除されます!
guest

0

ベストアンサー

ご返答ありがとうございました。
本件解決できました。
下記の記事の通り、「# mysql -u root -p」の後でパスワードを入力したら通りました。
https://onoredekaiketsu.com/can-not-root-login-to-mysql-with-error-1045-28000/

投稿2020/05/14 01:36

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.38%

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

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

質問する

関連した質問