【mysql】ERROR 2002 (HY000)「接続できないエラー」が表示された際の対応

wordpressで記事を作成していた際、下記のエラーが表示され、はまってしまったのでその解決手順を備忘録として残すことにします。
参考程度にどうぞ。

WordPress_error

上記のようなエラーページが表示された。

ひとまずデータベースに接続できていないことが分かったので、表示されている「wp-config.php」からデータベース接続に必要な情報を取得し、コンソールから接続を試みたら、下記のエラーが表示された。

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

socket?なんかわかんないので、ちょっと検索してみたら、socketファイルがないのが問題なんじゃないかと思い、下記コマンド実行

ひとまずファイルの存在チェックをします。

ls -al /var/lib/mysql/ | grep mysql

確かにファイルが存在していなかったので作成

sudo touch /var/lib/mysql/mysql.sock

mysqlの再起動を実行

sudo /etc/init.d/mysqld restart

再起動した際に下記のエラーが発生。(失敗した際にmysql.sockも消えた…)

Starting mysqld:[FAILED]

何で失敗したかよくわからないので、logを確認。

sudo tail -f /var/log/mysqld.log

いろいろ出ていたが下記が気になったので検索。

InnoDB: Fatal error: cannot allocate memory for the buffer pool

InnoDBがメモリ超過で落ちた模様。

/etc/my.cnfで割り当て量とか制御しているようなのでこちらに下記を記載。

innodb_buffer_pool_size = 16M
innodb_log_file_size = 2M

※サイズは環境に合わせて適宜。
※デフォルトサイズは
innodb_buffer_pool_size = 8M
また、サイズを上げる際は両方ともサイズアップしないとパフォーマンスが出ない様なので、注意が必要です。

/var/lib/mysql配下の
ib_logfile0
ib_logfile1
これらのファイルを削除。
mysqlの再起動を実行

sudo /etc/init.d/mysqld restart

無事mysqlが立ちあがり、今回のケースは解決しました。

タイトルとURLをコピーしました