2010-02-08 6 views
2

J'ai récemment commencé à lire sur Rails et tout en préparant mon environnement de développement sous Windows, j'ai continué à rencontrer des problèmes. J'ai donc choisi de simplement travailler sur l'espace serveur que j'ai avec asmallorange.com.Pourquoi ne puis-je pas créer ma base de données en utilisant "rake db: create"?

Tout s'est bien passé jusqu'à ce que j'ai essayé de créer ma base de données.

Lors de l'exécution

rake db:create 

je reçois une réponse disant qu'il ne pouvait pas créer une base de données. Il n'y a pas d'erreur pertinente avec la réponse et il n'y a pas d'erreurs dans les fichiers journaux. Ma session PuTTY ressemble à ceci:

[~]# cd alist 
[~/alist]# rake db:create 
(in /home/jonnie/alist) 
Couldn't create database for {"socket"=>"/var/lib/mysql/mysqld.sock", "reconnect"=>false, "encoding"=>"utf8", "username"=>"admin", "adapter"=>"mysql", "password"=>"************", "database"=>"alist_development", "pool"=>5}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation) 

Et mon dossier database.yml ressemble à ceci:

development: 
    adapter: mysql 
    encoding: utf8 
    reconnect: false 
    database: alist_development 
    pool: 5 
    username: admin 
    password: ************ 
    socket: /var/lib/mysql/mysqld.sock 

test: 
    adapter: mysql 
    encoding: utf8 
    reconnect: false 
    database: alist_test 
    pool: 5 
    username: admin 
    password: ************ 
    socket: /var/lib/mysql/mysqld.sock 

production: 
    adapter: mysql 
    encoding: utf8 
    reconnect: false 
    database: alist_production 
    pool: 5 
    username: admin 
    password: ************ 
    socket: /var/lib/mysql/mysqld.sock 

Je suis coincé à ce moment, et je ne l'ai pas été en mesure de trouver un répondre ailleurs. Quelqu'un sait quoi de neuf? Y at-il quelque chose que je fais mal ou devrais-je contacter mon hôte avec le problème?

Répondre

4

Probablement l'utilisateur que vous avez sur votre hébergement n'a pas les privilèges pour créer des bases de données ... peut-être vous devrez créer la base de données à partir d'outils d'hébergement (de cpanel, par exemple).

+0

C'était le problème. J'ai créé mes bases de données manuellement comme vous l'avez suggéré et tout fonctionne maintenant. Merci! – Jonnie

1

Également, êtes-vous sûr que /var/lib/mysql/mysqld.sock est l'endroit approprié pour la prise? Il se peut que l'installation de mysql soit configurée pour mettre des sockets dans /tmp ou ailleurs.

Questions connexes