fluid_27’s blog

勉強した内容をアウトプットするためのブログ

MySQLが動かなくなったので、ググって起動させた話

 

エラー状況

デプロイに際してSQLiteからMySQLに切り替え、ローカルでサーバーを立ち上げようとした際にエラー発生。

 

解決方法

いっぺんMySQLをアンインストール後、改めてインストール。で解決。

 

エラー発生から解決までの道のり

ローカルでサーバー立ち上げようとしたら、

Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

というエラーが。

 

ググってみると

  1. /tmp/mysql.sock ファイルがない可能性が。

その場合はファイルを作成する。

$ sudo touch /tmp/mysql.sock

 

 2.config/database.yml 内で socketの指定先が違っている可能性。 

 
 config/database.yml
 
    default: &default
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      username: root
      password:
      socket: /tmp/mysql.sock # ←ここの部分

 の部分を

    socket: /var/lib/mysql/mysql.sock

に変更でなおった。という記事が。

 

上記、1、2共に試してみる。

 

そして、rails db:create

してみると、

.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXXXXX.local.pid).

 というエラーが。

今度は、上記のエラー文でググってみる。

 

と、別の記事で

一度、mysqlを削除、インストールし直したらなおったという記事を発見。

別にDB削除しても構わないので、やってみます。

$ sudo rm -rf /usr/local/var/mysql

$ brew uninstall mysql

$ brew install mysql

で、mysqlスタートしてみる。

$ mysql.server start

 Starting MySQL .

 SUCCESS!

成功したーー!!

 

改めて

$ rails db:create

$ rails db:migrate

 で解決しました。

 

ここら辺のエラー解決は記事がたくさんあるので、初学者にとって助かりました(泣)

 

 

参考記事

Rails アプリ起動時のMysqlエラー を解消 (Mysql2::Error::ConnectionError ・ Can't connect to local MySQL server through socket '/tmp/mysql.sock') - Qiita

mysqlがどうしても起動しない - Qiita