質問編集履歴
2
webコンテナに「mysql.sock」が存在しないことが判明したため追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -344,13 +344,27 @@
|
|
344
344
|
よろしくお願いいたします。
|
345
345
|
また、関連するファイルに提示漏れがあればそちらについてもご指摘をいただけますと嬉しいです。
|
346
346
|
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
mysql
|
352
|
-
|
353
|
-
mysql
|
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
よもやエラー原因なのではと思った内容を追記
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
|
+
```
|