Не удается подключиться к правильной установке mysql с помощью RubyMine

Я почти уверен, что это связано с моей настройкой, но позвольте мне сначала изложить это. Я установил XAMPP на свой компьютер для своих проектов LAMP. Я также хотел бы немного развлечься на Rails (RubyMine выглядит довольно мило). Я установил Homebrew и необходимые драгоценные камни для запуска моего приложения, но когда я пытаюсь подключиться к mysql через RubyMine, я получаю следующую ошибку

Не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

Используя мою консоль bash, я могу достаточно хорошо добраться до консоли mysql, она, похоже, работает хорошо, и мои проекты Apache все еще подключаются. У меня сложилось впечатление, что драгоценный камень, который я установил, или то, где именно находится моя установка Ruby, - это другая установка MySQL? Это возможно? Я бился головой о клавиатуру последние полтора дня и не совсем уверен, куда идти. В идеале, если есть способ направить мое приложение Rails на установку MySQL в моей папке XAMPP, это было бы очень круто, но я новичок и, возможно, эти вещи не «правильные». Любая помощь приветствуется, если вы, ребята, хотите получить больше информации, дайте мне знать! Спасибо!

Полная ошибка:

/Users/Username/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e $ stdout.sync = true; $ stderr.sync = true; load ($ 0 = ARGV.shift) / Users / Username / .rvm / gems / ruby-1.9.3-p194 @ global / bin / rake db: setup Невозможно подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2) Не удалось создать базу данных для {" адаптер "=>" mysql2 "," encoding "=>" utf8 "," reconnect "=> false," database "=>" project_development "," pool "=> 5," username "=>" root "," пароль "=>" mypass "," host "=>" localhost "}, charset:, сопоставление: Не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2) Не удалось создать базу данных для {"adapter" => "mysql2", "encoding" => "utf8", "reconnect" => false, "database" => "project_development", "pool" => 5, "username" => "root" , "пароль" => nil, "host" => "localhost"}, charset:, сопоставление: rake прервано! Не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

Задачи: TOP => db: schema: load => environment (Просмотрите полную трассировку, запустив задачу с --trace)

Процесс завершен с кодом выхода 1


person Collin White    schedule 10.08.2012    source источник
comment
Ваш файл sock может быть в вашем datadir вместо / tmp. Скорее всего, в вашем my.cnf есть параметр конфигурации, который читается при подключении через bash, но не через RubyMine. Я не знаком с RubyMine, но вы захотите либо найти способ указать местоположение файла sock, либо заставить его подключаться по ip: port, а не напрямую через sock.   -  person Kadaan    schedule 10.08.2012


Ответы (1)


Если вы запустите mysql в оболочке, а затем запустите

mysql> STATUS;

вы увидите строку вроде

UNIX socket:        /tmp/mysql.sock

Это расположение сокета для MySQL. Вы можете указать это в своем config/database.yml для соединения, которое вы используете с

socket: /tmp/mysql.sock

Это сообщает Rails расположение сокета для подключения к MySQL.

person deefour    schedule 10.08.2012
comment
Вау, это невероятно простой совет. Большое спасибо Deefour, что сделал это. Я встаю и катаюсь! Спасибо 1,000,000 !! - person Collin White; 10.08.2012