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

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

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

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

619閲覧

Laravelでmysqlに繋がらない

isaatsu

総合スコア18

Docker

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/01/07 00:23

編集2019/01/07 11:37

##前提・実現したいこと
Laravelで参考著書を元にCRUDの基本的なシステムを作っています。
(参考著書 PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応)
mysqlに繋がらない状態です。
思い当たる物を試してみましたが、わからないため質問させていただきました。

[laravel_docker]
$ mysql --host=localhost --user=homestead--password=securet homestead
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

##やってみたこと

restartで変わらずです。

[laravel_docker]
$ sudo touch /tmp/mysql.sock
Password:
[laravel_docker]
$ sudo mysql.server restart
ERROR! MySQL server process #29597 is not running!
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/ihitoshitokushinoMacBook-Air.local.pid).

##開発環境

dockerでLaradockを使用しています。

お手数おかけしますが、よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2019/01/07 01:10

「Docker」もタグに追加しておいてください。
isaatsu

2019/01/07 11:38

返信ありがとうございます!追加しました!
guest

回答1

0

ベストアンサー

$ sudo mysql.server restart

ERROR! MySQL server process #29597 is not running!
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/ihitoshitokushinoMacBook-Air.local.pid).

MySQLの起動は、dockerコンテナ内で行わなければいけません。
慣れていない方はよくdockerコンテナの外で各種サーバを起動しがちです。
正しくコンテナを起動できていれば、MySQLなども起動できているはずです。

$ mysql --host=localhost --user=homestead--password=securet homestead

laradockであれば、接続先ホストはmysqlで接続できるはずです。

念の為、正しい手順を以下に一覧しておきます。
git clone https://github.com/laradock/laradockは終わっているものとして。

  1. cd laradock
  2. docker-compose up -d nginx mysql workspace
  3. docker-compose exec workspace /bin/bash
  4. mysql -h mysql -u homestead -phomestead homestead

.envの修正について

laradock/.env の下記の項目をtrueに変更します。

WORKSPACE_INSTALL_MYSQL_CLIENT=false

編集後、docker-compose build workspaceでビルドします。

投稿2019/01/07 02:48

編集2019/01/08 14:04
kazto

総合スコア7196

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

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

isaatsu

2019/01/07 11:34

ご返信ありがとうございます! 度々申し訳ございません。laradockの中で解決できると思っておりましたが、以下の通りです。 お手上げ状態で申し訳ございません。ご教授のほどどうかお願いいたします。 $ cd laradock [laradock] $ docker-compose up -d nginx mysql workspace laradock_mysql_1 is up-to-date laradock_docker-in-docker_1 is up-to-date laradock_workspace_1 is up-to-date laradock_php-fpm_1 is up-to-date laradock_nginx_1 is up-to-date [laradock] $ docker-compose exec workspace /bin/bash # mysql -h mysql -u homestead -phomestead homestead bash: mysql: command not found # mysql --host=localhost --user=homestead--password=securet homestead bash: mysql: command not found <やってみたこと> # brew link mysql bash: brew: command not found お手数おかけしますが、よろしくお願いいたします。
kazto

2019/01/08 14:00 編集

コンテナの内外を誤解、混同していらっしゃるようです。 コンテナ内ではbrewコマンドは使えません。 また、コンテナ外からmysqlに接続することも(できなくはないですが)基本やりません。 > bash: mysql: command not found とあるとおり、コンテナ内にmysql-clientがインストールされていません。 `apt update && apt install -y mysql-client`でインストールするか、コンテナ外で~~誤:docker-compose.yml~~ 正:.envを編集してコンテナをビルドし直すかのいずれかを行う必要があります。
kazto

2019/01/07 11:52

すみません、移動中のため、docker-compose.ymlを編集する方法は、のちほど。
isaatsu

2019/01/08 13:05

ご返答ありがとうございます!申し訳ございません、ぜひご教授のほどお願いいたしますmm
kazto

2019/01/08 14:04

遅くなりました。追記しました。 修正すべきは、docker-compose.ymlではなく、.envでした。
isaatsu

2019/01/09 13:29 編集

ご返信ありがとうございますmm 進展はありましたが、すいません、まだハマっています。。 <.envファイル> WORKSPACE_INSTALL_MYSQL_CLIENT=false に変更 $ docker-compose build workspace $ docker-compose up -d nginx mysql workspace $ docker-compose exec workspace /bin/bash # apt update && apt install -y mysql-client # mysql -h mysql -u homestead -phomestead homestead mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'homestead'@'172.19.0.4' (using password: YES) <やってみたこと> 参考 https://stackoverflow.com/questions/29756194/access-denied-for-user-homesteadlocalhost-using-password-yes .env で DB_HOST=127.0.0.1 に変更 →変わらず、、 度々申し訳ございません、ご教授のほどよろしくお願いいたします。
kazto

2019/01/09 13:39

> # mysql -h mysql -u homestead -phomestead homestead デフォルトではパスワードはsecretだったと思いますが、.envで変更していますでしょうか。
isaatsu

2019/01/10 14:20

いえ、secretのままです! .env DB_PASSWORD=secret
kazto

2019/01/10 14:47

であれば、-pオプション間違えてますね。
isaatsu

2019/01/10 15:11

これですか? $ cp env-example .env
kazto

2019/01/10 23:15

# mysql -h mysql -u homestead -psecret homestead が正解です
isaatsu

2019/01/11 13:05

すいません、同じくです、、mm # mysql -h mysql -u homestead -psecret homestead mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'homestead'@'172.19.0.4' (using password: YES)
kazto

2019/01/11 13:27

rootでの接続はできますか? homesteadユーザに権限が割り当てられていないだけかと。
isaatsu

2019/01/11 14:20

すいません、root権限はこれで合っていますか、、 root@f112ec98779e:/var/www# mysql -h mysql -u homestead -psecret homestead mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1045 (28000): Access denied for user 'homestead'@'172.19.0.4' (using password: YES)
isaatsu

2019/01/11 14:27

あっ、こちらですか? # mysql -u root -p
isaatsu

2019/01/11 14:29

# mysql -u root -p Enter password: secure ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
kazto

2019/01/12 00:15

# mysql -h mysql -u root -p です。
isaatsu

2019/01/12 01:11

ありがとうございます!あっ、エラー文が変わりました! # mysql -h mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'172.19.0.4' (using password: YES)
kazto

2019/01/12 05:36

パスワードは適切なものを入れましたか?デフォルトでは「root」だったりしますが。
isaatsu

2019/01/12 05:39

「root」ではダメでした、、他にも「secure」など色々入れましたがダメでした、、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問