Приложение Rails не может подключиться к локальному серверу MySQL через именованный канал / сокет --- Windows 7 x64 - PullRequest
2 голосов
/ 29 апреля 2011

Я пытаюсь настроить приложение Rails для использования сервера MySQL на моей локальной машине для разработки. Я успешно скомпилировал гем mysql2 для MySQLConnector / C; хотя я получил ту же ошибку, используя libmysql.dll в комплекте с моей установкой MySQL Server. Когда я пытаюсь rake db:create, приложению не удается подключиться к MySQL Server.

MySQL настроен на моем компьютере как служба Windows, запускается автоматически для локальных подключений через именованные каналы; TCP-IP был полностью отключен. Имя сокета в моем my.ini файле: mysql.

Мой database.yml файл для моего приложения на Rails выглядит примерно так:

развитие:
адаптер: mysql2
кодировка: utf8 переподключение: false
база данных: application_dev
бассейн: 5
имя пользователя: root

пароль: **********

хост: localhost
сокет: mysql

Тест:
адаптер: mysql2
кодировка: utf8 переподключение: false
база данных: application_test бассейн: 5
имя пользователя: root

пароль: **********

хост: localhost
сокет: mysql

И ошибка, которую я получаю:

D: \ Dropbox \ Programming \ Ruby \ application> rake db: create (в D: / Dropbox / Программирование / Ruby / Приложение) Не удается подключиться к серверу MySQL на локальном хосте (10061) Не удалось создать базу данных для {"adapter" => "mysql2", "encoding" => "utf8", "reinnect" => false, "database" => "application_test", "pool" => 5, "username "=>" root "," password "=>" ********** "," host "=>" localhost "," сокет "=>" mysql "}, кодировка: utf8, сопоставление: utf8_unicode_ci

Не удается подключиться к серверу MySQL на «localhost» (10061) Не удалось создать базу данных для {"adapter" => "mysql2", "encoding" => "utf8", "reconnec t "=> false," database "=>" Applicaton_dev "," pool "=> 5," username "=>" root "," password "=>" ********** "," host "=>" localhost "," socket "=>" mysql "}, кодировка: utf8, сопоставление: utf8_unicode_ci

Я использую 64-битную Windows 7 Home Premium со следующим дистрибутивом Ruby / Rails / MySQL:

ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

Rails 3.0.7

mysql2 rubygem 0.2.7

mysql Ver 14.14 Distrib 5.5.11, for Win32 (x86)

mysql Connector/C 6.0.0

Я попытался переустановить MySQL Server и включить соединения TCP-IP, и он просто зависает вместо сбоя.

1 Ответ

0 голосов
/ 07 августа 2011

Попробуйте указать номер порта в вашем database.yml, добавив этот параметр:

port: 3306 (or whatever your mysql port has)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...