RailsでMySQL2が使えなかった時の最終解決法

4

目次

geokit という gem を使いたかったのに sqlite じゃダメだよ〜とのことだったので、MySQL にしようとしたらそれはそれでエラー出て大変な思いをしました。

エラーメッセージ各種

An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. Make sure that gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' succeeds before bundling.

Errno::EACCES: Permission denied @ rb_sysopen - /Users/mb12/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/mysql2-0.5.2/CHANGELOG.md An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. Make sure that gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' succeeds before bundling.

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

インストールできないよ〜と言ってます。

確認すべきこと

MySQL を起動できるかどうか確認

$ mysql.server startで起動できるかどうかを確認してみる。

terminal
$ mysql.server start
Starting MySQL
 SUCCESS!

となれば平気。もしこれがダメでも$ mysql -u root -pとしてパスワード付きでログインしてみると平気なパターンもあります。

あるいは管理者権限つけて $ sudo chown -R _mysql:_mysql /usr/local/var/mysqlとしてみたらパスするケースも多く報告されています。

ちなみに僕は全部ダメだった。うんともすんとも起動しない。

そもそも MySQL がインストールされているのかもチェック

そもそも MySQL を環境に落としてなかったという人もいたのでご確認のほどを。下記コードでインストールできる。

terminal
$ brew install mysql

最終的な解決法

まぁ〜〜〜〜〜〜色々調べてやってみたけどまるでダメ。

というわけで MySQL をアンインストールして、再度インストールという手順をとった。コアも何もかも全て一旦削除して、再度インストールすることでbundle install通るようになった。めでたし。

※ 下記コードは環境内の MySQL 内のデータ全て飛びます。大切なものない人だけ推奨

terminal
$ sudo rm -rf /usr/local/var/mysql
$ brew uninstall mysql
$ brew install mysql

結局、何がダメだったか

原因が特定できたわけではないのですが、一つ思い当たる節があって、それが MAMP の存在。MAMP は PHP のローカル開発環境が使えるようになるソフトで、WordPress のアレコレをするときにがっつり使っているし、MAMP は思いっきり MySQL を使用していたりする(WP 使用するので当たり前ですね)。

別に取っておくべきデータもないし、削除して問題なかったので、アンインストールしたらすんなり Rails で gem も install できました。

WordPress 用に MAMP 使ってて Rails で MySQL インストールできないやんけ!って人は試してみる価値ありです。

参考

  • SNSでシェアしよう
  • Twitterでシェア
  • FaceBookでシェア
  • Lineでシェア
  • 記事タイトルとURLをコピー
トップへ戻るボタン

\ HOME /

トップへ戻る