#事象
mysqlを起動しようと思って以下のコマンドを打つと。
$ mysql -u root
以下のエラーが出力されます。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
#参考
参考にしたのは以下のリンク
mysqlが起動できな...ket '/tmp/mysql.sock' (2))
mysqlのsocketエラーでrailsアプリが起動できない
[mysqlが突然起動しなくなる 第二幕]
(http://hidamariman.hatenadiary.jp/entry/2016/02/01/133205)
#実施したこと
とりあえず、ターミナルでこれを打ち込んでみます。
$ sudo touch /tmp/mysql.sock
そして、もう一度冒頭のこれ。
$ mysql -u root
結果、
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'(38)
(2)が(38)に変わりました。
ここまでは参考リンクに載っている通り。(1個目)
これはなんか権限の問題でエラーになっているそうです。(知らんけど)
どなたか原因知ってたら教えてください。
当然、こんなことをしてみます。
sudo chown mysql:mysql /tmp
だったり
sudo chmod 777 /tmp/mysql.sock
$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'(38)
変わらない
#解決
この問題については僕がmysqlを触るのが
久しぶりすぎてちょっとおかしなことをやっていました。
###サーバーを起動していないのに動くわけがない
という結論に。
3つ目のリンクで、きちんと
$ mysql.server restart
の後に
$ mysql -u root -p
ってやってるのを見て、あっ‼︎ってなりました。
僕の場合は、サーバーの起動をしてないので
$ sudo mysql.server start
をしてから冒頭の
$ mysql -u root
で成功しました。
ちなみに
$ sudo mysql.server start
でも引っかかったのですが、
$ brew uninstall mysql
$ brew install mysql
でインストールし直しで行けました。
アップデートでもよかったかもしれない、、、
まだphpからmysql操作ができるかやってみてないので不安ですが、とりあえず今回はこれで。