こういったDB周りのエラーに遭遇した時に、
DB接続やsocketなどの仕組みをどのレベルまで理解してエラーを直しているのか。
MySQL の socket の話に限って話せば、
次のあたりが、MySQL と接続するまでのsocket まわりのトラブルシューティングで
重要になってくる知識と考えています
text
1- socket は、ローカルの MySQL サーバーと通信するための接続方法で
2 TCP 接続よりも高速です
3- MySQL サーバーに接続する方法には次の 2 種類があります:
4 - TCP 接続
5 - socket 接続
6- 規定の MySQL の動作では、 MySQL server を起動すると
7 mysqld.sock が自動的に作成されます
teratail では、次の回答が参考になります:
実際に teratail でも
この知識が解決につながる内容の質問が繰り返し投稿されているようです
そして、それ以外の細かい動作は、必要なときに手元で検証しています
どこまで理解すれはいいのか
この socket の話などは、DB 周りというより、
MySQL という個別のアプリケーションのセットアップと疎通の話なので
このくらいの話であれば、
次のようなことなどをしていけば良いのではないかと思います
text
1- 今自分でやっていて詰まったところを、
2 後で見返して思い出せるレベルで次に残す
3 - メモ
4 - コメント
5- 定期的に見返す
6- できれば他の人に共有して教える
仕組みを理解する場合、どんなサイトや本を参考にしているのか
僕の場合は、MySQL の挙動は特定のサイトや本ではなく、
実際に MySQL を使って動かしたり
MySQL を使ったアプリケーションの保守を通じて学んできました
(強いて言えば Stack Overflow と公式マニュアルです)
知識に触れることよりも、
検索結果をすぐに検証できる環境が手元にあることの方が
理解の速度を早めてくれました
今は次の環境があるので
僕よりもはるかに効率よく学びを得ることができると思います:
text
1- すぐに MySQL を動かせる Docker
2- 沢山の導入しやすい MySQL クライアント
3 - Visual Studio Code のプラグイン
4 - MySQL WorkBench
5 - PhpMyAdmin (Docker イメージあり)
6 - Adminer (Docker イメージあり)
参考: Docker Desktop で 開発用 Web アプリを起動してみよう | ultra code
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。