pisolino's blog

お仕事でハマったところの覚え書きとか、趣味とか。

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
■再度サーバー起動
$ sudo mysql.server start
Starting MySQL
. SUCCESS!

おつかれさまでした。

基礎からのMySQL 第3版 (基礎からシリーズ)

基礎からのMySQL 第3版 (基礎からシリーズ)