あじちゃんのブログ。備忘録。

〜エンジニアもOLなんですかね?

[mysql] tableが存在するのに呼べない時 [docker-compose]

docker-compose で作成したmysqlへのアクセスで、
存在するはずのテーブルに接続できない問題が発生しました。

結果的に、原因はわからなかったのですが コンテナとネットワークの削除 で解決しました。

以下事象と対処のbashコマンド

> show tables;
+-----------------------------+
| Tables_in_azimicat_dev |
+-----------------------------+
| azimicat |
| azimicatTest |
+-----------------------------+
2 rows in set (0.01 sec)
> show columns fromazimicatTest;
ERROR 1146 (42S02): Table 'azimicat_dev.azimicatTest' doesn't exist

こんな感じで存在するはずなのにしないことにされる。

コンテナとネットワークの削除

$ docker-compose down

コンテナとネットワークを再度起動する

$ docker-compose up -d

今回はこれで解決しました。

php 7.2 laravel 5.5 起動しない “could not find driver”

laravel 5.5 環境において、php 7.1.33 から php 7.2.9 にあげたところ、初期画面で“could not find driver”が出て正常に起動しなくなってしまった。

それの対処。

$ sudo composer update // composerを最新にする
$ git -C "$(brew --repo homebrew/core)" fetch --unshallow // 最新にする際に指摘されたコマンドを実行
$ brew install php@7.2 // 必要なphpバージョンを指定でインストール

パスの登録

$ echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> /Users/[user_name]/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> /Users/[user_name]/.bash_profile

 

$ brew services start php@7.2 // 起動&自動起動を設定

 

これで起動できました!

うっかりdocker-composeファイルを起動状態のまま削除してしまった時

こういう感じで残っている。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
8cd85ba19c5b        mysql:5.7           "docker-entrypoint.s..."   8 minutes ago       Exited (0) 7 minutes ago                       local-mysql
f2e36d653ef5        rabbitmq:3.7        "docker-entrypoint.s..."   8 minutes ago       Exited (0) 7 minutes ago                       local-mq02
e9e9e8b58232        rabbitmq:3.7        "docker-entrypoint.s..."   8 minutes ago       Exited (0) 7 minutes ago                       local-mq01
c55fbdeac81b        redis:4.0           "docker-entrypoint.s..."   8 minutes ago       Exited (0) 7 minutes ago                       nicoex-local-redis

 

無理だよって言われる。

$ docker-compose down
WARNING: The MYSQL_DATABASE variable is not set. Defaulting to a blank string.

 

無理だよって言われる。

$ docker kill 8cd85ba19c5b
Error response from daemon: Cannot kill container: 8cd85ba19c5b: Container 8cd85ba19c5b90f9263359edee85aac91094470734a05d3e38bc6721eab58664 is not running

 

対処法は、ひたすらに消すだけ...

$ docker rm 8cd85ba19c5b
8cd85ba19c5b
$ docker rm f2e36d653ef5
f2e36d653ef5
$ docker rm e9e9e8b58232
e9e9e8b58232
$ docker rm c55fbdeac81b
c55fbdeac81b

 

確かめるとみんな消えてくれてる。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

 

よかったね!!!🍺