2009-09-16 12 views
15

Estoy usando Ruby1.9 y Rails 2.3.4 y tengo mysql-ruby (2.8.1) gem instalado.Error al intentar crear una base de datos con Rails, rake db: create

cuando intento rake db: crear consigo el siguiente

No se pudo crear la base de datos para { "adaptador" => "mysql", "base de datos" => "war_development", " username "=>" root "," password "=> nil, " host "=>" localhost "}, conjunto de caracteres: utf8, colación: utf8_unicode_ci (si establece el juego de caracteres manualmente, asegúrese de que tenga un juego intercalación)

Mi database.yml tiene lo siguiente para el desarrollo

development: 
    adapter: mysql 
    database: war_development 
    username: root 
    password: 
    host: localhost 

¿Qué ideas fallan?

Gracias,

Tam

+0

Desde el error yo diría que el juego de caracteres de la base de datos no coincide con lo que están tratando de hacer: juego de caracteres: UTF-8 cotejo: utf8_unicode_ci No estoy seguro si hay una manera de configurar el juego de caracteres de una consulta en los rieles? – SeanJA

Respuesta

6

¿Se le permite usar el usuario root sin contraseña? ¿El servidor mysqlserver está escuchando en 127.0.0.1 o localhost?

+0

¿Eso te ayudó? – Lichtamberg

+4

Utilicé 127.0.0.1 en lugar de localhost ... parece hacer la diferencia. – Tam

+0

no hay razón por la cual este trabajo, pero funciona :-) gracias. – Jirapong

4

Es extraño ver un cambio en el comportamiento, y no sé si es específico del leopardo de las nieves. Yo uso tigre y tengo el mismo error. Añadí

host: 127.0.0.1 

a la siguiente (por supuesto con una raíz MySQL correcta/PW)

y funcionó (el tigre/gema mysql-2.8.1/MySQL 5.1.30 Ver 14,14 Distrib) Espero eso ayude.

+0

¡Funcionó para mí! –

0

Seguí los pasos en otro SO thread. Sin embargo, el comando para mi instalación es diferente al de allí, ya que no estoy actualizando un db existente sino instalando uno nuevo. Así que en lugar de uno aconsejó

$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 

he escrito el siguiente

$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql 

PS: host: localhost permanece tal cual, sin necesidad de cambiar a 127.0.0.1

0
$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql 

funciona para mí . ¡Gracias!

0

Comprobará su nombre de usuario y contraseña, ya sea correcta o no. También verificará si su servidor mysql está funcionando correctamente. y también en algún momento encontró el problema de la ruta del socket la mayor parte del tiempo es su directorio dentro/tmp, pero a veces puede no serlo. así que intente con la ruta predeterminada.

Esperemos que si lo intentas, te sirva.

Cuestiones relacionadas