Разработка Rails - Не удается подключиться к серверу MySQL на localhost (10061)

Я новичок в Rails-разработчике, использующий MySQL в качестве базы данных. Я могу успешно подключиться к MySQL с помощью команды:

MySQL -u macDaddy -p

в командной строке, так что я знаю, что пользователь действителен и MySQL работает. Но когда я пытаюсь бежать

rake db:schema:dump

в командной строке я получаю эту ошибку: грабли прерваны! Не могу подключиться к серверу MySQL на «localhost» (10061)

Что-то не так с моим database.yml? Вот:

 development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: bookmobile
  pool: 5
  username: macDaddy
  password: booklover
  host: localhost
  socket: mysql
  port: 3306

Я также пытался удалить линии портов и сокетов, но все равно получаю ту же ошибку. Пожалуйста помоги. Вот мои версии: разработка на Windows 7

MySQL Ver 14.14, дистрибутив 5.5.21 для win64 Версия сервера 5.5.21

Рельсы 3.2.1

Спасибо!

 Jared Beck29 мая 2012 г., 06:27
MySQL слушает на 3306? Пытатьсяnetstat -an | grep 3306, Если вы не видите что-то вроде*.3306 *.* LISTEN тогда это может быть проблемой.
 DVG29 мая 2012 г., 06:10
Что произойдет, если вы укажете 127.0.0.1 вместо localhost?

Ответы на вопрос(6)

Изменить значениеhost вdatabase.yml быть"127.0.0.1" буду работать. Или вы можете изменить файл hosts вашего компьютера, добавить элемент как "localhost 127.0.0.1".

У меня была похожая ошибка, но это было из-за отсутствия порта: 3306 в файле database.yml. Как только я добавил порт: 3306 проблема была решена.

убедитесь, что номер порта, который вы указали при создании MySQL (например, 7777), добавьте номер порта с соответствующим «именем пользователя»; и «пароль».

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: admin
  host: localhost
  port: 7777

в файле database.yml в каталоге config вашего каталога приложения.

Я думаю, что на компьютере, который вы указали как Windows, включена поддержка IPv6. Таким образом, когда вы пытаетесь перейти к localhost, он разрешается в «:: 1». На самом деле это локальный компьютер, однако при установке по умолчанию в MySQL для bind-address установлено значение 127.0.0.1, что приведет к сбою localhost в этой настройке.

Вы можете проверить это, запустивping localhost из командной строки и посмотреть, если вы получите ответ вроде:

 Reply from ::1: time<1ms

Чтобы это исправить, вы можете изменить конфигурацию, указав:

 host: 127.0.0.1

Альтернативно, вы можете изменить конфигурацию MySQL, чтобы разрешить другой адрес привязки, например, localhost вместо 127.0.0.1.

 19 янв. 2016 г., 10:33
Это была именно моя проблема, спасибо.

что на вашем сервере баз данных (mysql) не установлен пароль, попробуйте следующее:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: bookmobile
  pool: 5
  username: macDaddy
  password:
  host: localhost
  socket: mysql
  port: 3306

просто измените ваш хост на хост: 127.0.0.1

Ваш ответ на вопрос