こんにちは。
キンモクセイの匂いがしてきました。あ〜幸せダァ!
どうもハチマキです。
本日の概要 : `connect': Can't connect to MySQL server on '~~' (Mysql2::Error)の解決方法
事象
ターミナルで、サーバを起動したいのにMySQLエラーが発生した。。
どう解決すればいいんだ。。(涙)
捕捉
- 初歩的な発生原因は、下記のような原因が考えられます。
- PCを再起動した時
- PCをシステム終了し、再度起動した時
エラー例
$ bundle exec rails s /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/simple_form-2.1.1/lib/simple_form/inputs/boolean_input.rb:37: warning: circular argument reference - unchecked_value => Booting Thin => Rails 3.2.22.2 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server Exiting /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/mysql2-0.3.20/lib/mysql2/client.rb:70:in `connect': Can't connect to MySQL server on '~~' (Mysql2::Error) from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/mysql2-0.3.20/lib/mysql2/client.rb:70:in `initialize' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `mysql2_connection' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:325:in `checkout_new_connection' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:247:in `block (2 levels) in checkout' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `loop' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `block in checkout' from /Users/yutakayamaki/.rbenv/versions/2.2.4/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:239:in `checkout' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:102:in `block in connection' from /Users/yutakayamaki/.rbenv/versions/2.2.4/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:101:in `connection' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection' from /Users/ユーザ名/アプリケーション名/vendor/bundle/ruby/2.2.0/gems/activerecord-3.2.22.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection' ・ ・ ・ 省略
原因
今回の問題が発生した原因は、こいつです!!
`connect': Can't connect to MySQL server on '~~'(Mysql2::Error)とエラーログに書いてありますね。
つまりは、MySQLサーバに接続できねーぞ!と言われてます。
解決方法
なので、今回のエラーを解決するには、MySQLを起動(に接続)すれば解決です。
$ sudo mysql.server start #こちらのコマンドでMySQLを起動 Password: #パスワードを入力 Starting MySQL #MySQLが起動します SUCCESS!
最後にサーバを起動すれば無事に動くことでしょう!
$ bundle exec rails s #再度サーバを起動 ・ ・ ・
参考資料
【Rails】ローカル環境におけるmysql接続エラー対処法【Can't connect to local MySQL server through socket】 - Qiita
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
日々勉強です。
以上、ハチマキでした。