LoginSignup
0
1

More than 5 years have passed since last update.

Vagrant CentOSにて、ヒドいミスしてCan't connect to local MySQL server through socketを出した件

Last updated at Posted at 2016-06-29

Vagrant上のCentOSにて、

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

というエラーを出してしまった。

mysqlの設定はlinuxだと大抵/etc/my.cnfに書いてあるので、/etc/my.cnfを確認。

/etc/my.cnf
[mysqld_safe]
log-error=/var/log/mysqld.log

error logが/var/log/mysqld.logにあるとわかったので、そこを確認してみます。grep ERRORにより、ERROR箇所のみを抽出できます。lessコマンドでも良いんだけどね。

sudo cat /var/log/mysqld.log | grep ERROR

これで、ERRORメッセージを発見。

[ERROR] /usr/sbin/mysqld:
unknown variable 'character_set_server=utf8'

'character_set_server=utf8'というunknown variableがありますよ、と。実は試し書きをしてゐて、本来character-set-serverと書くべきところをアンダースコアにしてました。mysqlの文法が正しく書いてあるドキュメントを読めればよかったのですが...

なので、とりあえず当該行を修正します。

sudo vi /etc/my.cnf # viでmy.cnfを開き当該行を修正
sudo service mysqld restart # mysqldの再起動

これにより解決、めでたしめでたし.
character-set-serverは何かというと、databaseのエンコーディングを決める変数でした。
ここがShift-JISとかだと、普通に文字化けしてしまうんですよね。ここをutf-8に直したいと思ってやったことが思わぬバグを生みました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1