MySQLをクリーンインストールしてローカル環境でMySQL立ち上げようと思ったら、いきなり以下のエラーが出てちょっと詰まったのでメモ。
##エラー内容
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
前にもこんなんあったなーと思い、とりあえず該当箇所に行くとmysql.sockがなかったので、以下のコマンドで作成。
$ sudo touch /var/lib/mysql/mysql.sock
これでMySQL再起動
$ mysql.server start
でいけるかなーと思いきや
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (38)
2から38て。
/var/lib/mysqlディレクトリの権限が_mysqlになっていたので、権限を自分に。
$ sudo chown username /var/lib/mysql
再度MySQL再起動
$ mysql.server start
しかし、まだしつこく出てくる
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (38)
結構調べてこれでみんないけててなんやねんと思ってましたが、そんなときは素直にログを。いや始めから見ろって話ですね。
ログを見ると以下の文言が。
[ERROR] Unix socket lock file is empty /var/lib/mysql/mysql.sock.lock.
lockファイルがいるからかと思い、こいつらを削除(一応バックアップとりました。)
その後、
$ mysql.server start
SUCCESS!!!!!
きたーーーーー!
MySQL 5.7.5からはmysql.sock.lockというのを作るようになったそうですね。知らんかった。
参考: https://yoku0825.blogspot.jp/2015/05/mysql-575mysqlsocklock.html