#mysql #ruby-on-rails #macos #homebrew
#mysql #ruby-on-rails #macos #homebrew
Вопрос:
Версия для Mac: 10.6.7 Версия Ruby: 1.9.2-p180 Версия Rails: 2.3.5
После установки mysql через brew и запуска rails сервер сообщает
/! ОТКАЗОУСТОЙЧИВЫЙ /! 2011-05-09 11:18:22 0545 Статус: Внутренняя ошибка сервера 500 Не удается подключиться к серверу MySQL на '127.0.0.1' (61) /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:589:in `real_connect' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:589:in `подключиться' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:203:in `инициализировать' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:75:in `новый' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:75:in `mysql_connection' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `блок (2 уровня) при оформлении заказа' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `цикл' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `блок при оформлении заказа' /Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201: в `mon_synchronize' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in `оформить заказ' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in `соединение' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in `retrieve_connection' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in `соединение' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:9:in `кэш' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:28:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/hoptoad_notifier-2.4.9/lib/hoptoad_notifier/rack.rb:27:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/hoptoad_notifier-2.4.9/lib/hoptoad_notifier/user_informer.rb:12:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/lock.rb:11:in `блокировка при вызове" :10:в `синхронизировать" /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/lock.rb:11:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:114:in `блокировка при вызове" /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/actionpack-2.3.5/lib/action_controller/reloader.rb:34:in `выполнить' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:108:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rails-2.3.5/lib/rails/rack/static.rb:31:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `блокировка при вызове" /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `каждый' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rails-2.3.5/lib/rails/rack/log_tailer.rb:17:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `вызов' /Users/me/.rvm/gems/ruby-1.9.2-p180@suga/gems/rack-1.0.1/lib/rack/handler/webrick.rb:50:in `сервис' /Users/me /.rvm/rubies/ruby-1.9.2-p180/lib/ruby /1.9.1/webrick/httpserver.rb:111:в `service' /Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby /1.9.1/webrick/httpserver.rb:70: в `run' /Users/me /.rvm/rubies/ruby-1.9.2-p180/lib/ruby /1.9.1/webrick/server.rb:183: в `блокировать в start_thread'
Комментарии:
1. Можете ли вы вообще войти в mysql (без использования Rails) из командной строки?
Ответ №1:
Я не вижу mysql gem в вашем stacktrace, поэтому подозреваю, что вы, возможно, его не устанавливали. Если это так, то добавьте gem 'mysql'
(или gem 'mysql2'
, если вы предпочитаете) в свой Gemfile, запустите bundle install
и запустите ваш сервер снова.
Кроме того, дважды проверьте, действительно ли вы используете Rails 3, как указано в вашем вопросе. Трассировка стека показывает, что вы используете Rails 2.3. Аналогично, в вашем Gemfile убедитесь, что у вас есть gem 'rails', '3.0.0'
, затем запустите bundle install
и т.д.
Комментарии:
1. Спасибо, что указали версию rails. Это 2.3.5, но ошибочно было 3.0.0
2. Я подозреваю, что да. Я установил Rails 2.3.5 совсем недавно, и в инструкции по установке в какой-то момент явно указано, что mysql gem не входит в состав Rails в этой версии, поэтому вам нужно
gem install mysql
заставить MySQL работать.3. Вы также должны убедиться, что вы действительно запускаете сервер MySQL.