Homebrew経由でMySQLをインストールした直後のSocketエラーをなんとかする
brewコマンドで入れるだけで使える状態かと思いきや、自分の環境では色々と手を加える必要があった。他の端末に入れようとした時にまた絶対ハマるはずなのでメモ。
環境:
Mac OS X Lion 10.7.5
Homebrew 0.9.4
MySQL 5.6.10
■まずは普通にhomebrewでMySQLを入れる
以下brewコマンドでのインストール直後からの流れ。
$ mysql error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
コマンド打つと即エラー。
ソケット指定がおかしい時によく出るやつですね。(2)ってなんだろう。
今回のパターンだと /tmp/mysql.sock のファイル自体が存在していない。
※my.cnfは特にいじっていない状態
■mysql_install_dbコマンドを実行
このコマンド実行後にソケットファイルが自動生成される。
$ mysql_install_db --verbose --user=`root` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
■サーバー起動
$ sudo mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/[ホスト名].local.pid).
まだ怒られる。
今回の場合は /usr/local/var/mysql の所有権がないことが原因の模様。
$ sudo chown -R _mysql:_mysql /usr/local/var/mysql