質問: socketエラーが出た際に、database.ymlのsocketの記述と/etc/my.cnfmyaql側?のsocketの指定が一致しているかどうかの確認があると思うのですが、mysql側というのは、どこかにファイルがあるのでしょうか? たとえば ・database.yml ``` socket: /tmp/mysql.sock ``` こうなっていたとき、mysql側も同じ場所にsocketの記述がないといけないという認識でよろしいでしょうか? また、もしそうだとしたらmysql側のsocketが指定されているファイルはどこに存在しているのでしょうか? 知識が少なく質問自体が的外れかもしれませんが、どなたかご教授していただきたいです。 【追記】 /etc/my.cnfはアプリケーション内のファイルに存在するのでしょうか? (rails newをして作ったファイル群の中に存在するのでしょうか?)
回答: > > mysql側も同じ場所にsocketの記述がないといけないという認識でよろしいでしょうか? > > > はい、そのとおりです。 > > mysql側のsocketが指定されているファイルはどこに存在しているのでしょうか? > > > 典型的には`/etc/my.cnf`ですが、MySQLサーバのインストール状況によっても変化します。 なお、`/tmp/mysql.sock`のような**Unixドメインソケット**は、同一マシン内の通信にしか使えません。このようなファイル設定でトラブルになったのでしたら、`127.0.0.1`を指定してふつうのTCP/IP接続する、という選択肢もあります。