Подтвердить что ты не робот

Разработка 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

Rails 3.2.1

Спасибо!

4b9b3361

Ответ 1

Моя лучшая догадка заключается в том, что машина, которую вы указали как Windows, имеет IPv6-сеть. Таким образом, когда вы пытаетесь перейти на localhost, он разрешает ":: 1". Это на самом деле локальная машина, однако, по умолчанию MySQL устанавливается, как правило, имеет адрес привязки, установленный в 127.0.0.1, что приведет к сбою localhost в этой настройке.

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

 Reply from ::1: time<1ms

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

 host: 127.0.0.1

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

Ответ 2

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

Ответ 3

Измените значение хоста в database.yml, чтобы быть "127.0.0.1" . Или вы можете изменить свой файл хостов pc, добавить элемент как "localhost 127.0.0.1".

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

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

Ответ 7

Убедитесь, что сервер mysql запущен.