Как заставить Ruby и MySQL работать вместе - PullRequest
1 голос
/ 18 января 2012

Я пытаюсь установить ROR с бэкэндом MySQL на Windows 7 x64 box, но они не работают вместе. Когда я делал это раньше, несколько месяцев назад, это была просто установка mysql и команда bundle, но не на этот раз.

Я установил 32-разрядную версию MySQL 5.1 на пути без пробелов и настроил сервер. Мне пришлось установить гем mysql2, используя аргументы командной строки, чтобы указать путь к экземпляру mysql, чтобы получить гем для установки. Однако rake db: create завершается с ошибкой Can't connect to MySQL server on 'localhost' (10061).

Я проверил, что mysql работает на указанном порту. mysql, mysqladmin и telnet localhost 3306 все работают как обычно. У меня есть исключение брандмауэра для порта 3306, и он работает нормально. Я также выключил брандмауэр, и это не имеет значения.

Я часами гулял по Google и пробовал много возможностей, но безуспешно. Большая часть документации, которую я нашел, связана с проблемами, когда mysql не работает / не работает на конвейере, но это не моя проблема.

database.yml excerpt:
common: &common
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  username: root
  password: root
  #host: 127.0.0.1
  host: localhost
  port: 3307


development:
  <<: *common
  database: project_dev

Есть идеи как это исправить?

1 Ответ

0 голосов
/ 19 января 2012

На странице mysql2 на GitHub в вашем Gemfile может отсутствовать строка конфигурации, в зависимости от версии ActiveRecord.

ПРИМЕЧАНИЕ: по состоянию на 0.3.0и ActiveRecord 3.1 - адаптер ActiveRecord был извлечен из этого драгоценного камня в сам ActiveRecord.Если вам нужно использовать mysql2 с версиями Rails <3.1, убедитесь, что в вашем Gemfile указан * gem "mysql2", "~> 0.2.7"

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...