2009-09-01 4 views
5
kratos-iii:railsproj zachinglis$ rake db:create 
(in /Users/zachinglis/Sites/rails/railsproj) 
Couldn't create database for {"adapter"=>"mysql", "host"=>"localhost", "username"=>"root", "password"=>nil, "database"=>"railsproj_development"}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation) 

Je n'avais aucun problème à utiliser Sequel Pro et même créer cette base de données.rake db: créer - problèmes de classement

Comment résoudre ce problème? Avoir un mot de passe vide ne m'a jamais donné des problèmes avant. Et je doute vraiment que c'est ça.

+1

Que voulez-vous savoir exactement? S'il vous plaît écrire une vraie question! –

+2

Votre mot de passe étant vide est probablement le problème, mais qui sait avec une telle "question" vague? Je recommande de recommencer la question avec un point d'interrogation afin que les gens sachent quel est le point en question. – Godeke

Répondre

-1

La base de données existe-t-elle déjà? MySQL est-il configuré et en cours d'exécution? Qu'est ce qui a changé? (Mise à niveau OS peut-être)? Est-ce qu'une application de rails frais fonctionne? Qu'en est-il de vos autres environnements (test, production)?

Existe-t-il une trace arrière? vous pouvez poster (utilisez rake --trace db: create). Généralement MySQL renvoie un message d'erreur très explicite, rake le mange tout simplement.

+0

La base de données existe, je peux accéder à MySQL. J'ai créé le db comme un test et créé une table. J'ai commencé à FRESH sur Snow Leopard. Tous les environnements échouent de manière similaire. Backtrace: ** Invoke db: créer (first_time) ** Invoke db: load_config (first_time) ** Invoke RAILS_ENV (first_time) ** Exécuter RAILS_ENV ** Exécuter db: load_config ** Exécuter db: create Impossible de créer la base de données pour {"adapter" => "mysql", "host" => "localhost", "nom d'utilisateur" => "root", "mot de passe" => nil, "database" => "railsproj_development "}, jeu de caractères: utf8, collation: utf8_general_ci (si vous définissez le jeu de caractères manuellement, assurez-vous que vous avez un classement correspondant) –

1

Je viens de le rencontrer aussi sur une nouvelle installation Snow Leopard.

J'ai eu un autre projet qui a créé les bases de données sans problème, mais mon projet principal donnerait les erreurs que vous avez décrites. Après avoir farfouillé, la seule différence était que le premier spécifiait un socket, alors que le projet défaillant (et le vôtre aussi) utilise un hôte.

C'est-à-dire ce database.yml le problème provoque:

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

mais cela fonctionne:

development: 
    adapter: mysql 
    database: fanvsfan_development 
    username: root 
    password: 
    socket: /tmp/mysql.sock 

Je ne suis pas sûr quelle est la différence réelle, mais cela semble être un solution de contournement.

3

Je suis arrivé sur le même problème après l'installation du nouveau serveur de base de données MySQL5.0 à 5.1. Si vous avez installé un nouveau serveur db, votre bibliothèque mysql gem ne convient pas à votre serveur de base de données. Vous pouvez résoudre ce problème en réinstallant mysql gem lib.

sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/your/mysql_config 
3

Réinstaller serveur mysql et mysql-client à l'aide de cette commande:

sudo apt-get install mysql-server mysql-client 

puis certaines bibliothèques, vous devez installer pour rendre MySQL disponible à ruby:

sudo apt-get install libmysql-ruby 

Tout cela a résolu mon problème. Essayez-le !!! :)

1

Utilisation de RVM? Faites ceci pour Rails v 2.3

export ARCHFLAGS="-arch x86_64" ; gem install --no-rdoc --no-ri mysql -v 2.7 -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/mysql/bin/mysql_config 
Questions connexes