ERROR! The server quit without updating PID file

macbook air からmacbook proにデータを移した時にmysqlに接続しようとしたら、
接続できなかったので、mysqlに接続するまでの対処方法。


#1.xcodeを動かす。
これは盲点。
airからproにうつしたので当然xcodeは入っているのだが、
動いていないのでxcodeのアプリを立ち上げてインストールボタンを押す。


そして　rails s してサーバー立ち上げる。


#2. mysqlに接続。


$ mysql -u root -p 
...繋がりません。

なんでだろう。
とググると、そもそもサーバーが立ち上がっていない！
というのにたどり着いた。
ので


#3.mysqlサーバー起動。

$ mysql.server start

立ち上がらない。

. ERROR! The server quit without updating PID file (/usr/local/var/mysql/自分のマシンの名前.local.pid).

というエラー。


ここでエンジニア暦が長い方に相談したら、homebrewが壊れているかもしれないということだった。
なので

　$ brew
でhomebrewに接続しようとしたら
Error: Unkown command:
という、そんなのないよっていわれた！
、やっぱり壊れていたっぽい。


普通、
$ brew
って打ったら、

`Example usage:`
`  brew [info | home | options ] [FORMULA...]`
`  brew install FORMULA...`
 ` brew uninstall FORMULA...`
  `brew search [foo]`
`  brew list [FORMULA...]`
 ` brew update`
  `brew upgrade [FORMULA...]`
 ` brew pin/unpin [FORMULA...]`

`Troubleshooting:`
`brew doctor`
 ` brew install -vd FORMULA`
 ` brew [--env | config]`

`Brewing:`
 ` brew create [URL [--no-fetch]]`
 ` brew edit [FORMULA...]`
 https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.md

`Further help:`
`  man brew`
`  brew home`

というのがでます。

#4.なのでhomebrewの普及

もちろんhomebrewがない人はhomebrewのホームページからダウンロードしてね。


$ brew doctor

これをしたらwarningが腐るほど出てきた！！！！！！
権限が違うものや、いらないファイルがあるっていわれた。

だから、doctorの指示通りに
一個一個解決していった。

例えば、実際に出てきたwarningで説明します。


Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!


Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.

You should probably `sudo chown -R $(whoami)` them:
    /usr/local/share/man/mann

このようなwarningがあった。


このwarning場合、

＄ sudo chown -R $(whoami) /usr/local/share/man/mann`

これを打って今のユーザーの権限に与えるみたいな感じのことをします。
whoamiの部分は、そのまま打てば自分の現在使っているuserを勝手に認識してくれるので変える必要はないです。

試しに
$ whoami
と打ってみてください。
現在の自分のユーザーが表示されます。

こんな感じで、

Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.

You should probably `sudo chown -R $(whoami)` them:
　　　　　　　　　　/usr/local/Cellar


だったら、

＄  sudo chown -R $(whoami) 　/usr/local/Cellar


一個づつ辛抱強くやっていきましょう。



次、ファイルを消せみたいなwarningの例。

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
    /usr/local/lib/libtcl8.6.dylib
    /usr/local/lib/libtk8.6.dylib



これは、

$ rm -rf /usr/local/lib/libtcl8.6.dylib

$ rm -rf /usr/local/lib/libtk8.6.dylib


こんな感じで１つずつ消していく。


私の場合は、
これが１００個近くあったので本当にしんどかった！
でも辛抱強く消していく！


Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected .pc files:
    /usr/local/lib/pkgconfig/tcl.pc
    /usr/local/lib/pkgconfig/tk.pc

これだったら、

$ rm -rf /usr/local/lib/pkgconfig/tcl.pc

$ rm -rf /usr/local/lib/pkgconfig/tk.pc


こんな感じで削除！

で、全部warningを対処し終わったら、

$ brew update

をします。

#5.やっとmysqlサーバー起動

$ mysql.server start

Starting MySQL
 SUCCESS! 


ってでたら成功！
もういつもの感じでmysqlに接続できます。

もし、ターミナルではmysqlに接続できるけど、
localhostでは繋がらないって方は、

一度、

$ mysql.server stop

でサーバー止めてから、

$ mysqld_safe --skip-grant-tables &

セーフモードで入っていろいろ設定をいじってみましょう！