require "rubygems" require "active_record" ActiveRecord::Base.establish_connection( adapter: "mysql2", host: "localhost", username: "...", password: "...", database: "test", ) class User < < ActiveRecord::Base end puts User.create()
というテストコードをかいてみたのですが
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error::ConnectionError)
というエラーが出ます
/tmp/mysql.sock ファイルを touch で作ってみると (2) が (38) になるので
症状としてはこのブログのとおりだと思うのですが
https://qiita.com/Terryy/items/0238f70c91f56486dcae
mysql は docker 上で動いていて ps -ef をしてみても docker 自体は自分の権限で動いてるようにみえるので
何の権限を付与すればいいのかわかりません…
socket: '~/tmp/mysql.sock'
のようにかいて完全にオーナーもコントロール権限もあるディレクトリにしても同じエラーが出ます
docker 上の Rails や WorkBench という mysql を操作するアプリは
localhost:3306 に対して普通に動いていて mysql コンテナ自体は動作しています
そもそもこの sokect ファイルというのは何をしているものなのでしょうか
WorkBench や telnet などは直接接続にいけてるようにみえるのですが…
解決方法のヒントみたいなものがあれば教えていただけないでしょうか
よろしくおねがいします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/03/13 02:25