[R-es] Aprendiendo RMySQL

Carlos J. Gil Bellosta cgb en datanalytics.com
Sab Mayo 8 17:55:41 CEST 2010


Hola, ¿qué tal?

MySQL no funciona de manera muy distinta a como lo hace Postgres, así 
que te puede valer esta información:

http://extats.blogspot.com/2009/12/connecting-r-and-postgres-via-jdbc.html

Esencialmente, necesitas hacer:

library( RJDBC )
postgres <- JDBC( "org.postgresql.Driver", 
"/path/to/postgresql-8.3-604.jdbc4.jar")
con <- dbConnect(postgres, "jdbc:postgresql://localhost:5432/mydbname", 
user = "myusername", password = "xxx" )

Una vez hecho eso, ya puedes leer (por ejemplo) una tabla así:

my.r.df <- dbReadTable( con, "myschema.mytablename" )


Caveats:

1) MySQL tiene que estar levantado. Puedes hacer un "ps -ef" para 
comprobar que el demonio está levantado en Ubuntu.

2) MySQL tiene que estar escuchando en algún puerto. El puerto por 
defecto de MySQL es el 3306. Puedes verificar eso con netstat.

3) Necesitarás el _driver_ correcto de JDBC para tu versión de MySQL.

4) Es posible que tengas que modificar algún tipo de parámetro de 
seguridad en MySQL para que acepte las conexiones. Creo que por defecto 
se aceptan las de la misma máquina, pero pudiera no ser así.


A veces resulta más fácil comprobar que los demonios, cadenas de 
conexión, permisos, etc. son los correctos tratando de conectarse a la 
base de datos a través de algún GUI (tipo PgAdmin para Postgres; no sé 
cuáles hay para MySQL).

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com


On 05/08/2010 03:38 AM, Kjetil Halvorsen wrote:
> fue mandado por error antes de terminar .... continuando abajo
>
> 2010/5/7 Kjetil Halvorsen<kjetil1001 en gmail.com>
>
>> Hola!
>>
>> Estoy tratando de aprender como usar un base de datos con R. Nunca he usado
>> un base de
>> datos antes. Trato con RMySQL, todo instalado en ubuntu linux 10.04.
>>
>> library(RMySQL)
>> myBase<- dbDriver("MySQL")
>>
>>   con<- dbConnect(myBase)
>> Error in mysqlNewConnection(drv, ...) :
>>    RS-DBI driver: (Failed to connect to database: Error: Access denied for
>> user 'kjetil'@'localhost' (using password: NO)
>> )
>>
>>
>> Que debo hacer? Es necesario iniciar MySQL antes, afuera de R?
>>
>> Mi intención por el momento simplemente es iniciar un base nuevo, llenarlo
>> con algunos
>>
> datos de un data.frame, almacenarlo, t talvez tratar de accederlo desde
> afuera de R como un control.
>
> Kjetil
>
>> --
>> The good Christian should beware of mathematicians, and all those who make
>> empty prophecies.
>> The danger already exists that the mathematicians have made a covenant with
>> the devil to darken
>> the spirit and to confine man in the bonds of Hell.
>>
>> St. Augustine, De Genesi ad Litteram, Book II, xviii, 37
>>
>>
>>
>>
>
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es