質問編集履歴

2

webコンテナに「mysql.sock」が存在しないことが判明したため追記

2022/09/26 11:33

投稿

hoshi_no_senshi
hoshi_no_senshi

スコア48

test CHANGED
File without changes
test CHANGED
@@ -344,13 +344,27 @@
344
344
  よろしくお願いいたします。
345
345
  また、関連するファイルに提示漏れがあればそちらについてもご指摘をいただけますと嬉しいです。
346
346
 
347
- 追記をします!
348
- 引き続き調査中なのでが、ソケット通信が〜
349
- という記事ちらほらでていまた。しくみがまったくわかっていないのですが、もしかしたら今回のエラーに関与しているのではとふと思ったため、そちらの方向を現在調査中です。
350
- ```_あやしいと思った点
351
- mysql.sockって何?
352
-
353
- mysqlクライアントからmysqlサーバーに接続するためには、ソケット接続とTCP接続の2つの方法がある。
354
- 前者は通常、ローカルのファイルを経由して通信を行うので後者より早い。
355
- ソケット接続したいならパスを記載しないと接続できない。
356
- ```
347
+ ---
348
+ 追記をしま!(2022年9月26日20時33分)
349
+ ```webコンテナには「/var/lib/mysql/mysql.sock」存在しない様子
350
+ > docker exec -it web /bin/bash
351
+ [root@3a6b90c1d94d /]# mysql -u root -p
352
+ Enter password:
353
+ ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
354
+ [root@3a6b90c1d94d /]# ls /var/lib/mysql/ | grep mysql.sock
355
+ ls: cannot access '/var/lib/mysql/': No such file or directory
356
+ [root@3a6b90c1d94d /]# ls /var/lib/
357
+ alternatives httpd phpMyAdmin rpm-state tpm2-tss
358
+ dnf misc private selinux
359
+ games php rpm systemd
360
+ ```
361
+ 今回webコンテナとdbコンテナの計2つのコンテナをつくっておりますが、webコンテナの方で「mysql.sock」がないらしいことがわかりました。
362
+ webコンテナからdbコンテナのMySQLにログインするときにエラーが出ないのは前述のとおりですが、webコンテナのなかではエラーがでていました。上記の「mysql -u root -p」で発生したエラーの「**ERROR 2002 (HY000)~**」という内容は、phpMyAdminでログインに失敗した時に画面表示された「**mysqli::real_connect(): (HY000/2002): No such file or directory**」と酷似しているため、webコンテナ側に「/var/lib/mysql/mysql.sock」が存在しないのが今回のエラーの原因と信じ、どうすればエラーが消えるか引き続き調査をしていきます!
363
+
364
+ ```dbコンテナに「/var/lib/mysql/mysql.sock」が存在する様子
365
+ > docker exec -it db /bin/bash
366
+ [root@89a91b163c4f /]# ls /var/lib/mysql/ | grep mysql.sock
367
+ mysql.sock
368
+ mysql.sock.lock
369
+ ```
370
+

1

よもやエラー原因なのではと思った内容を追記

2022/09/26 09:55

投稿

hoshi_no_senshi
hoshi_no_senshi

スコア48

test CHANGED
File without changes
test CHANGED
@@ -343,3 +343,14 @@
343
343
  タグ付けが適切な状態か判断できておらず、そちらについてご指摘がございましたら、頂戴できますと幸いです。
344
344
  よろしくお願いいたします。
345
345
  また、関連するファイルに提示漏れがあればそちらについてもご指摘をいただけますと嬉しいです。
346
+
347
+ 追記をします!
348
+ 引き続き調査中なのですが、ソケット通信が〜
349
+ という記事がちらほらでていました。しくみがまったくわかっていないのですが、もしかしたら今回のエラーに関与しているのではとふと思ったため、そちらの方向を現在調査中です。
350
+ ```_あやしいと思った点
351
+ mysql.sockって何?
352
+
353
+ mysqlクライアントからmysqlサーバーに接続するためには、ソケット接続とTCP接続の2つの方法がある。
354
+ 前者は通常、ローカルのファイルを経由して通信を行うので後者より早い。
355
+ ソケット接続したいならパスを記載しないと接続できない。
356
+ ```