"utf8", "nom d'utilisateur" => "root", "adaptateur" => "mysql" => "MySQL" => "MySQL". - Retrouvez les réponses et les commentaires concernant cette question" />
7
votes

Impossible de rake DB: Créer: Tout - Impossible de créer une base de données pour {"coding" => "utf8", "nom d'utilisateur" => "root", "adaptateur" => "mysql" => "MySQL" => "MySQL".

J'essaie d'obtenir une application Rails sur mon ordinateur et j'ai des problèmes avec la création des bases de données. J'ai correctement installé / configurer des rails, MySQL et j'ai installé le gemme MySQL 2.8.1 (j'ai vérifié cela avec une liste de gemmes).

Alors maintenant, j'essaie de courir 'Rake DB: Créer: Tous' et moi 'M Obtenir l'erreur suivante:

ne pouvait pas créer de base de données pour {"codage" => "utf8", "Nom d'utilisateur" => "root", "Adaptateur" => "MySQL", "Base de données" => "PYO", "hôte" => "localhost", "mot de passe" => nil, "Socket" => "/ TMP / mysql.sock"}, Charset: UTF8, Collation: UTF8_UNICODE_CI (si vous définissez le charert manuellement, faites sûr que vous avez une assemblée assortie)

ne pouvait pas créer de base de données pour {"codage" => "utf8", "Nom d'utilisateur" => "root", "Adaptateur" => "mysql", "Base de données" => "pyo_test", "hôte" => "localhost", "mot de passe" => nil, "Socket" => "/ TMP / mysql.sock"}, Charset: UTF8, Collation: UTF8_UNICODE_CI (si vous définissez le charert manuellement, faites sûr que vous avez une assemblée assortie)

Je suis actuellement en cours d'exécution 5.5.10 Server communautaire MySQL (GPL) sur Snow Leopard (10.6.6)

et voici ce qui est dans ma base de données.yml Fichier xxx

i remarquez comment la fin de l'erreur dit "Charset: UTF8, Collation: UTF8_UNICODE_CI (Si vous définissez la branlette manuelle, assurez-vous d'avoir une assemblée assortie)" - Est-ce que le problème? Et si oui, comment puis-je le réparer?

J'ai été coincé sur cette chose pendant des heures et je ne trouve rien qui aide sur Google. Donc, toute aide à ce stade serait très appréciée.

merci !!


1 commentaires

Avez-vous trouvé une solution pour ce problème? avec une explication significative?


5 Réponses :


2
votes

pense que j'ai eu quelque chose comme ça ... corrigé en ajoutant ceci à la base de données.yml: xxx

ou dans votre cas, changez-le de localhost.


1 commentaires

Je suis tombé sur un message d'erreur similaire aujourd'hui et cette méthode a fonctionné pour moi, merci.



0
votes

Donc, après environ 3 ou 4 jours de googling et d'essayer tant de choses différentes, je suis tombé sur cela en quelque sorte:

http : //geryit.com/blog/2011/01/Installing-mysql-with-Rails-on-mac-os-x-snow-leopard/

et devinez quoi? ÇA MARCHE! À LA PERFECTION. Cela me conduit à croire que le problème réside dans MySQL 5.5.10. Quelque chose à ce sujet ne sera pas simplement agréable avec mon environnement rubis / rails. Cependant, une fois que j'ai suivi les instructions sur le lien ci-dessus (qui incluent la désinstallation de MySQL et de réinstaller 5.1), mon application fonctionne maintenant parfaitement sur ma machine locale.

J'espère que cela aide quelqu'un!


0 commentaires

2
votes

Je reçois le même problème avec le gemme mysql2. Ensuite, j'ai trouvé que mon mySQL n'écoute que «localhost» et non '127.0.0.1', alors je l'ai changé en "localhost" et maintenant je ne reçois plus ce problème. Tout fonctionne maintenant.


0 commentaires

4
votes

Je sais que ce fil est vieux, mais être un gars IT qui croit à garder une bonne documentation solide dans un endroit goes here:

Le problème vient en fait à partir de votre fichier « config / database.yml ». Vous désignez ROR au mauvais emplacement du socket MySQL.

je suis tombé sur ce problème et ce qu'il est avéré être est la pierre précieuse a été construit sur un système Mac et le développeur ne tenait pas compte d'autres systèmes d'exploitation en mettant son dossier « mysql.sock » dans le répertoire « / tmp » plutôt que le "/var/run/mysqld/mysqld.sock".

son dossier "database.yml" ressemblait à: développement

: Adaptateur: mysql2 #encoding: UTF8 base de données: somedatabase Piscine: 5 Nom d'utilisateur: someusername Mot de passe: unMotdepasse socket: /tmp/mysql.sock

Parce que je suis sur un système Ubuntu je devais changer la mienne à ce qui suit: développement

: Adaptateur: mysql2 #encoding: UTF8 base de données: somedatabase Piscine: 5 Nom d'utilisateur: someusername Mot de passe: unMotdepasse socket: /var/run/mysqld/mysqld.sock

Oui, l'erreur peut être trompeur mais il n'a rien à voir avec votre « encoding » ou que vous utilisez localhost ou 127.0.0.1 (au moins dans linux / systèmes UNIX ceux-ci se traduire par la même chose et sont synonymes )

Début Modifier

En outre, il est pas bon d'avoir codant commenté comme je le fais ci-dessus. Je suis fournirai la modification ici pour référence. développement

: Adaptateur: mysql2 encodage: UTF8 base de données: somedatabase Piscine: 5 Nom d'utilisateur: someusername Mot de passe: unMotdepasse socket: /var/run/mysqld/mysqld.sock

Edit End


1 commentaires

Dans mon cas, si vous passez d'Ubuntu à Mac. Va sans dire mais voici à une solution rapide socket: /tmp/mysql.sock



0
votes

Je veux partager ma solution. J'ai eu ma base de données.yml comme suit xxx

mon erreur était dans cette ligne xxx

donc, j'écris sans (.) xxx


0 commentaires