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

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

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

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

MySQL

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

Laravel

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

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Docker

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

Q&A

解決済

1回答

1289閲覧

mysqlへのログインに失敗してしまう

study_111

総合スコア82

docker-compose

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

MySQL

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

Laravel

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

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Docker

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

0グッド

0クリップ

投稿2020/07/28 09:27

編集2020/07/28 09:35

Qiitaの記事を参考に、DockerでのLaravel環境を構築しlaravelチュートリアルを進めていました。
しかし、docker-compose exec db bashコマンドでdbコンテナに入った後、$ sudo mysqlを打ち込み、mysqlにログインする部分で、以下のエラーが表示されてしまいました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

現状、sudo /etc/init.d/mysql startを実行するも、sudo: /etc/init.d/mysql: command not foundとなってしまい、sudo touch /var/run/mysqld/mysqld.sock とした後、sudo chown root /var/run/mysqld/mysqld.sockとしてみましたが、ログインは出来ませんでした。

参考にしたサイトはこちらこちらのQiitaなどの記事です。
エラー解決の為、ご助言頂けましたら幸いです

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

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

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

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

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

YakumoSaki

2020/07/29 02:28

docker-compose.yml を質問に追記してください。 あと、最初にはられたQiitaの記事からリンクされている、docker-compose.yml等のgithubリポジトリから一式取得して実行して試した限りでは、`docker-compose exec db mysql -uroot -p` でMySQLに接続できました。 https://github.com/ucan-lab/docker-laravel
study_111

2020/07/29 05:48

お忙しい中、ご協力頂きましてありがとうございます。 一度コンテナを、「make remake」コマンドで再作成し、「docker-compose exec db bash -c 'mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE'」コマンドを実行しましたら、mysql入れました。 恐らく、コンテナ内で色々といじっていたのが原因で、設定などがおかしくなってしまいエラーが出力されてしまったものと思います。 お手数をおかけし、すみませんでした。
guest

回答1

0

ベストアンサー

MySQLにログインしたいのであれば、

$ make sql

もしくは

$ docker-compose exec db bash -c 'mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE'

でログインできます。

dbコンテナのMySQLに接続する

もしrootユーザーでログインしたい場合は、下記のコマンドでログインできます。

$ docker-compose exec db bash -c 'mysql -u root -p$MYSQL_ROOT_PASSWORD'

投稿2020/07/29 02:43

編集2020/07/29 02:46
ucan-lab

総合スコア888

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

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

study_111

2020/07/29 11:31 編集

ご回答頂きまして、ありがとうございます。 一度コンテナを、「make remake」コマンドで再作成し、ご回答でご提示頂きました「docker-compose exec db bash -c 'mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE'」コマンドを実行しましたら、mysqlへ入れました。 恐らく、コンテナ内で色々といじっていたのが原因で、設定などがおかしくなってしまいエラーが出力されてしまったものと思います。 重ね重ねのご質問で申し訳ないのですが、1点程分からない部分があり、お聞きしたい箇所がございます。 mysqlへログインをし、laravelのチュートリアルの記載にあった「ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';」としましたら、「ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation」とのエラーが発生してしまいました。こちらのエラーの解決につきましては、通常通り検索し解決を行なっていけたらと考えているのですが、通常のmysqlエラーの解決方法と変わらず、同様に実行していけば問題ありませんでしょうか?
ucan-lab

2020/07/29 12:24

本題と外れる内容なので、新たに質問を立てるのが良いと思います。 また、仰られている通りご自身でまずお調べになるのが良いです。 その上で回答すると、 $MYSQL_USER の権限ではユーザーを作成する権限がないのでまずエラーになっています。 また、コマンドの目的としてはMySQL上にrootユーザーを作成して、Linuxの一般ユーザーでもMySQLへログインするためのユーザーを作成しようとしています。 これに関しては公式のMySQLDockerイメージが環境変数さえ渡せばMySQLの設定を行ってくれるので、この作業は不要です。aws cloud9の環境での話になります。 チュートリアル通りに忠実に進めたいのであれば、aws cloud9を利用した方が齟齬がないと思います。
study_111

2020/07/29 14:35 編集

お忙しい中ご返信頂きまして、ありがとうございます。 実の所、Dockerを学習していたのですが、Laravelの学習も兼ねてDocker環境を作り、小規模なアプリでも作成出来たら力が付くかなと思い、チュートリアルを進めておりました。 ですが、やはり環境が違う為、少々チュートリアル通りとはいかない部分があるようですね... 今回はせっかくですので、環境の違う部分は適宜、Dockerでの環境に合わせて設定など変更し、できる限り学習を進めていければと思っております。 > 公式のMySQLDockerイメージが環境変数さえ渡せばMySQLの設定を行ってくれる こちらそうだったのですね... Dockerについては分からないことが多く、書籍を読んで勉強するべきか、ネットで適宜調べながら勉強すべきか、非常に迷っている所ではございます... 今回の、DockerイメージがMySQLの設定を行ってくれるということも教えて頂けなければ恐らくずっと分らずのままでしたし、もしかしたら自分はきちんと一から学んだ方が良いのかもしれないですね...
ucan-lab

2020/07/30 02:08

いきなりLaravelを学習される前に一度、Linux, PHP, MySQL等それぞれの技術をある程度学習した上で進めるのが良いと思います。(Laravelの技術を急いで身に付ける必要に迫られているとかでなければ) いきなり応用から始めても基礎でこけてしまうので...エラーはググれば解消できますが、全体的な知識は身につかないままなっちゃいますし。
study_111

2020/07/30 04:12

ご助言ありがとうございます。 PHPはある程度勉強した経験はあるのですが、Linux,MySQLはあまり慣れていない部分はある為、一度きちんと勉強してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問