HomebrewでMySQLを5.6.26にアップデートしました。
その後でmysqlを起動しようとした所下記のようなエラーが出るようになってしまいました。
$ mysql.server start ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
mysql.sock
が無いのでエラーが出ているようです。
Mac内を検索・Homebrewでインストールした/usr/local/Cellar/mysql/5.6.26
内を検索してもmysql.sock
というファイルを見つけることができませんでした。
試しにmysql.sock
を作ってみる。
mysql.sockという存在がなんなのか解っていません。
とりあえずファイル作ってみたらどうなるかな?と思いファイルを作ってみました。
$ touch '/tmp/mysql.sock'
問題なく動いてしまった...
MySQLを再度起動てみます
$ mysql.server start
Shutting down MySQL
... SUCCESS!
えっ!?? ʕ•ᴥ•ʔ 問題なく起動してしまいました...
DBのデータもログインユーザーもアップデートする前のものが引き継がれています...
空ファイルだったんだけど? ...いいの??? ʕ•ᴥ•ʔ どゆことー?
mysql.sock 何者!?
先のmysql.server start
を実行すると、/tmp内に作成していたmysql.sockはFinderでは見えなくなってしまいました。
MySQLが起動中は
$ ls -al /tmp/mysql.sock srwxrwxrwx 1 {USER} wheel 0 10 23 13:09 /tmp/mysql.sock
と表示され、ls -n
でも一覧に表示されます。でもFinderには表示されてない。。。
そしてMySQLを止めると
$ mysql.server stop Shutting down MySQL ... SUCCESS! $ ls -al /tmp/mysql.sock ls: /tmp/mysql.sock: No such file or directory
存在しないファイルになっています。ln -s
しても今度は一覧にも表示されません。当然Finderでは見えないままです。
感想
問題なく動いてるからまぁいいかーと思いつつ。
このmysql.sockというファイルが居たり居なくなったり、そもそも空ファイルで大丈夫だったのか?と少し心配です。mysql.sockが何者なのか判る方が居られましたらぜひ教えて下さい!
MySQLは↓ この本を読んだくらいの知識しかないです。
基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ)
- 作者: 西沢夢路
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/12/26
- メディア: 大型本
- 購入: 22人 クリック: 205回
- この商品を含むブログ (46件) を見る
こちらのフォーラムに質問しています > MySQL - Mysql.sock とは(16446)|teratail
[参考]
- Homebrew でインストールした MySQL で /tmp/mysql.sock が開けなかった時の対応 - KRAKENBEAL RECORDS
- mysqlソケットエラー解決法 - ウマい話、ちょいくれや。
- [Can't connect to local MySQL server through socket homebrew - Stack Overflow](http://stackoverflow.com/questions/15016376/cant-connect-to-local-mysql-server-through-socket-homebrew