やったこと

webサービスを作るときに考えたことを垂れ流します

プロンプトからmysqlにログインできなくなってた

プロンプトから mysql -u root -p でログインしようとするとログイン失敗してしまう。

あれ?前はログインできてたんだけどおかしいな。。

ちなみにエラー文は以下が出力される。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


/etc/my.cnfの設定を見ると、ソケットのファイルは/tmp/にあるものを参照するよう書いてある。

[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock

でも、これだけじゃ不十分だったみたい。クライアント側のソケットの記述も必要だった。

[client]
socket=/tmp/mysql.sock

クライアントの記述を追加してmysql restartしたら、無事にログインできるようになった。

/etc/init.d/mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

(リスタート!)

# mysql -u root -p
Enter password:hogege

(ログイン成功!)