2013-04-18 4 views
1

Когда я запустить приложение, я получаю сообщение об ошибке:Rails 3.2 - не удается подключиться к локальному MySQL

/Users/adam/.rvm/gems/ruby-1.9.3-p385/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error) 

Если я пытаюсь запустить

mysqladmin variables | grep socket 

Результатом является:

mysqladmin: connect to server at 'localhost' failed 
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' 

Я уверен, что работал с Rails 3.2 и MySQL, но теперь это не так. Я бегу на Mac OS Lion, не могли бы вы помочь мне, пожалуйста, что мне не хватает?

Спасибо

+0

Перейти к настройкам и клике на кнопку MYSQL. Затем нажмите кнопку запуска MYSQL SERVER. Готово! Вы получили это сообщение, потому что ваш сервер не запускался. – medina

ответ

2

Тип ps aux | grep mysqld в терминале и посмотреть, если что-то появляется, кроме команды Grep. Если нет, вы - сервер mysql не запущен. В противном случае попробуйте ввести mysqld start в терминал и посмотреть, не можете ли вы загрузить свой сервер sql.

Edit: К сожалению, на OSX команда для запуска должно быть mysql.server start

+0

В заявлении 'ps aux | grep mysqld' - это просто команда 'ps'. Я думаю, что правильной командой для Mac OS является 'sudo/Library/StartupItems/MySQLCOM/MySQLCOM start', но когда я запустил ее, я вижу в терминале' Starting MySQL database server'. Но когда я запускаю приложение Rails, я снова получаю сообщение 'Не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2) (Mysql2 :: Error)' ... – user984621

+0

'ps aux | grep mysqld' - это способ проверить, работает ли ваш сервер, а не команда запускать его. В OSX правильной командой для запуска сервера mysql является 'mysql.server start'. – JoshEmory

+0

Если я запустил 'mysql.server start', вывод будет' -bash: mysql.server: command not found'. Означает ли это, что MySQL не установлен? – user984621