2014-07-11 1 views
4

Je viens de créer ma première base de données SQL en utilisant MAMP. (. Il est simple- juste une liste des animaux) Je voudrais le charger dans R. Voici ce que je l'ai écrit:Comment puis-je obtenir la base de données SQL dans R à partir de l'hôte local?

install.packages("dbConnect") 
library(dbConnect) 
mypets=dbConnect(MySQL(),user="root", 
      host="localhost1234/DatabaseGrace") 

Cette erreur est renvoyée:

Error in mysqlNewConnection(drv, ...) : 
    RS-DBI driver: (Failed to connect to database: Error: Unknown MySQL server host 'localhost1234/DatabaseGrace' (2)) 

Toute idée de ce que signifie ou comment je peux le résoudre?

Répondre

1

L'hôte est le nom de l'ordinateur. Donc, mettez simplement localhost. Sélectionnez la base de données correcte dans une seconde étape.

+0

Merci @Lorenz d'avoir répondu. J'ai essayé les deux host = "localhost: DatabaseGrace" hôte = "localhost/DatabaseGrace" hôte = "localhost" Avec le dernier, l'erreur est devenue "Erreur dans mysqlNewConnection (drv, ...): RS-DBI pilote: (Impossible de se connecter à la base de données: Erreur: Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (2) ) " – Grace

4

Je pense que le nom d'hôte doit être « localhost », sans l'1234.

Si vous aviez l'intention que signifie le port, je vérifie pour vous assurer que MySQL est en effet à l'écoute sur ce port. La valeur par défaut est 3306; l'administrateur devrait prendre une décision consciente pour changer cela.

La notation habituelle est "localhost: 3306" en Java. Si vous devez inclure le numéro de port, essayez de le séparer du nom d'hôte par deux points.

Pouvez-vous vous connecter à MySQL en utilisant le shell admin?

Avez-vous obtenu l'autorisation de localhost pour se connecter à la base de données nommée DatabaseGrace? Sinon, MySQL ne vous permettra pas de vous connecter.

http://dev.mysql.com/doc/refman/5.1/en/grant.html

localhost me suggère que la base de données est en cours d'exécution sur votre machine locale. Est-ce vrai? Sinon, localhost n'est pas le bon nom d'hôte. Cela peut également signifier que vous avez un pare-feu entre votre machine et la base de données, ce qui vous empêche de vous connecter.

Je reçois beaucoup de kilométrage sur cutting & pasting any errors I get into Google pour voir si quelqu'un d'autre a déjà rencontré mon problème. Voici le first hit.

+0

Merci @duffymo pour avoir répondu. Lorsque je supprime le numéro, l'erreur change. Quand je regarde la table de données en ligne, je vois le serveur: localhost: #### »Base de données: DatabaseGrace. (J'omets le numéro à quatre chiffres parce que je ne sais pas si cela devrait être privé, ce n'est pas 3306.) Sans le numéro à quatre chiffres, l'erreur devient "Erreur dans mysqlNewConnection (drv, ...): Pilote RS-DBI: (Impossible de se connecter à la base de données: Erreur: Impossible de se connecter au serveur MySQL local via la socket '/tmp/mysql.sock' (2) "Merci encore, tous! – Grace

8

Merci @duffymo et @Lorenz.

Résumé:

  • La base de données est stockée sur mon ordinateur, hôte avait vraiment besoin d'être localhost comme vous le suggérez.

Voici ce qui a fini par fonctionner.

install.packages("RMySQL") 

install.packages("dbConnect") 
library(dbConnect) 
dbGrace=dbConnect(MySQL(),user="root", 
       host="localhost", 
       dbname="DatabaseGrace", 
       password="root", 
       unix.sock="/Applications/MAMP/tmp/mysql/mysql.sock") 

Merci à tous!

Questions connexes