Me gustaría acceder a una base de datos MySQL dplyr
sin tener que almacenar las contraseñas de mi base de datos en el código R de texto plano. Por lo tanto, preferiría hacer referencia a mi .my.cnf
archivo, pero como src_mysql tiene parámetros predeterminados para el host, el usuario y la contraseña, la única forma en que puedo encontrarlo es a través del bastante elegante:
test_db <- src_mysql("test",
default.file=path.expand("~/.my.cnf"),
host=NULL,
user=NULL,
password=NULL)
¿Existe una forma menos detallada de conectarse a una base de datos MySQL a dplyr
través de credenciales almacenadas?
Parece por la respuesta de Hadley a esta solicitud de extracción (febrero de 2014, que solicita adaptar el código para permitir la lectura my.cnf
) y la documentación de Hadley (donde recomienda usar my.cnf
y que debe pasar valores NULL) que pasar NULL es la intención deseada.
Si eso le molesta, considere hacer una función en su .Rprofile
con lo siguiente:
src_mysql_from_cnf <- function(dbname,
dir="~/.my.cnf",
host=NULL,
user=NULL,
password=NULL,
...) {
if(!(file.exists(dir)))
stop(sprintf("No such file '%s'",dir))
dplyr::src_mysql(
dbname,
default.file=path.expand(dir),
# explicitly passing null unless otherwise specified.
host=host,
user=user,
password=password,
...)
}
entonces puedes simplemente
test_db <- src_mysql_from_cnf("test")
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras