Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’のエラーを解消するためのヒント

エラーアイキャッチ

どうも、フリーエンジニア目指して奮闘中のYuta(@yuta_ushijima)です。

今回チャットアプリ開発に置ける環境設定を行うにあたり、ずっとmysqlのエラーにハマっていました。

僕のRails師匠であるchinjuさんに助けを求めたところ、無事にエラーが解消できたのでその手順を残しておきます。

結論から言うと、mysqlの設定ファイルを全て削除して、再度インストールしただけなので、原因は未だにわかってません。

それでも、現在は順調に環境構築できているので、同じくエラーにハマった方は参考にしていてください。

何度ググっても解消されない【Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’】

もーいやー!

何度このエラーをみた事でしょうか。。

この2日間ずっと

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’

のエラー文がターミナルを埋め尽くしていました。

Qiitaやグーグル先生に聞いて、同じ解消法を試して見ても、

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

もしくは

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (38)になるだけ。

この文をみるたびに思わず、

yuta
自分にはRails向いていないのかな。。。

と弱気になりかけましたが、どうしても解決したかったので、これまでの経緯を chinjuさんに質問してみることに。

chinjuさんとのやりとり

chinjuさん
 database.yml の設定かもです
yuta
mysqlの起動すらできないのですが、それもdatabase.ymlが関係してきますか?
chinjuさん
あ、それは原因違いますね。`mysql.server resetart` ができないということですよね?
yuta
そうなんですよ、restartができない状況です。
ずっとこのエラーですね。。
ERROR! The server quit without updating PID file
yuta
brew で mysql 入れ直しから始めるのが吉だと思いますー
yuta
なるほど、ちょっとやって見ますー。
chinjuさん
`brew remove mysql` かな。
yuta
どっちもやって見たんですけど、これってuninstallされているんですかね?

Yutas-MacBook-Air:~ ushijimayuuta$ brew uninstall mysql
Warning: Use zlib instead of deprecated homebrew/dupes/zlib
Uninstalling /usr/local/Cellar/mysql/5.7.19… (322 files, 233MB)
mysql 5.7.18_1 1 is still installed.
Remove all versions with `brew uninstall –force mysql`.

Yutas-MacBook-Air:~ ushijimayuuta$ brew remove mysql
Uninstalling /usr/local/Cellar/mysql/5.7.18_1… (321 files, 232.9MB)
Yutas-MacBook-Air:~ ushijimayuuta$

chinjuさん
`brew uninstall –force mysql` これかな。
ちょっと実行してみてくださーい。
一応アンインストールは成功してると思われます。
そのあとに `brew install mysql` です。

再び【bundle exec rails db:create db:migrate】を実行してみるも。。。

再びデータベース実行コマンドである

bundle exec rails db:create db:migrateを叩いて見ました。

しかし結果は同じく

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock'

見慣れたエラー文がターミナルにまたしても出現。

どうしようもないので、chinjuさんの提案で全てのmysqlとその設定ファイルを削除することに。

ちなみに、手順については下記のサイトを参考にしました。

MacでMySQL5.7をアンインストールする

Qiitaの手順通りの後にPCを再起動してみると、icloudやDropboxからログアウトされるなどの弊害が。。

しかし、bundle exec rails db:create db:migrateを叩いてみると、無事にMysqlに接続できました。

最後に

結局この記事を執筆時点では、なぜエラーがずっと解消されなかったのかという原因はわかってないです。。

次に同じエラーが発生した際には、再び初期化する事がないように原因を突き止められるよう、Mysqlの知識も勉強していきます。