Ruby Mysql Connection

0

Я настраиваю ruby ​​и mysql на свой Mac, и у меня возникают проблемы с подключением к локальному серверу mysql.

require 'rubygems'
require 'mysql'
...    
db = Mysql.new("localhost", "root", "", "")
...

Это дало бы мне следующую ошибку, когда я запустил эту script из командной строки:

generate.rb:37:in `initialize': wrong number of arguments (4 for 0) (ArgumentError)
from generate.rb:37:in `new'
from generate.rb:37

Я понятия не имею, почему я получаю эту ошибку... любые идеи?

Теги:

4 ответа

3
Лучший ответ

Как насчет

db = Mysql.connect("localhost", "root", "", "")

?

  • 0
    что дает: generate.rb: 37: неопределенный метод `connect 'для Mysql: Class (NoMethodError)
  • 0
    Хм, интересно, какой коннектор MySQL вы используете. Что говорит sudo gem spec mysql ?
Показать ещё 3 комментария
2

Я столкнулся с той же проблемой. Удаление mysql gem и установка ruby-mysql решили проблему.

sudo gem удалить mysql

sudo gem install ruby-mysql

1

переустановить mysql командой

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- \
  --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
  --with-mysql-include=/usr/local/mysql/include

Я нашел решение здесь http://thinlight.org/2010/05/12/how-to-install-ruby-mysql-on-mac-os-x-10-6-snow-leopard/

0

У вас есть четкое сообщение о неправильном количестве аргументов для метода new. Может быть, попробуйте другой метод? real_connect например.

db = Mysql.real_connect('localhost', 'test', 'test', 'testdb');

user: test, pass: test, db: testdb

  • 0
    нет, это тоже не сработало generate.rb: 37: неопределенный метод `real_connect 'для Mysql: Class (NoMethodError) может быть, мне следует переустановить все, кажется, что мне не хватает многих вещей
  • 0
    require 'mysql' проходит, поэтому модуль загружается, по крайней мере, так кажется. Странный. Я протестировал этот пример, и он работал для меня (конечно, разные учетные данные, но это не имеет значения).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню