Conéctese a la base de datos MySQL a través de dplyr usando credenciales almacenadas

Jthorpe

Me gustaría acceder a una base de datos MySQL dplyrsin 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.cnfarchivo, 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 dplyrtravés de credenciales almacenadas?

rmstmppr

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.cnfy que debe pasar valores NULL) que pasar NULL es la intención deseada.

Si eso le molesta, considere hacer una función en su .Rprofilecon 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

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Conéctese a la base de datos MySQL usando python

Conéctese a la base de datos a través de un túnel SSH doble usando Python Paramiko

Conéctese a la base de datos mySQL en línea usando VBA

Conéctese a la base de datos MySQL en PHP

Visite la base de datos de Heroku y conéctese a la base de datos MySQL local

Conéctese a la base de datos de Microsoft SQL con dplyr 0.7 y R

Conéctese a la base de datos MySQL desde la base de datos Firebird

conéctese a Zookeeper a través de kazoo lib con credenciales

SQL Server: conéctese a la base de datos usando la autenticación NTLM usando Java 8

Conéctese a la base de datos de Teradata usando la biblioteca R + DBI + ODBC

Usando credenciales almacenadas en powershell a través de vb.net

Conéctese a la base de datos de Azure MySQL mediante MySQL Workbench

Conéctese a la base de datos de Azure MySQL mediante MySQL Workbench

Conéctese a la base de datos de MS SQL Server usando isql en Ubuntu

conéctese al host de la base de datos mysql desde dentro de rstudio docker

Digital Ocean, conéctese a la base de datos con mySQL workbench

Conéctese a una base de datos usando DBplyr

Conéctese a la base de datos MSSQL usando Flask-SQLAlchemy

Conéctese a la base de datos H2 usando el cliente Datagrip

Conéctese a tablas existentes en la base de datos usando SQLAlchemy

Conéctese a la base de datos MySQL desde la función Lambda (nodo)

Conéctese automáticamente después de que la base de datos finalice la recuperación

Conéctese a una base de datos .sql alojada en Google Drive a través de Colab Notebook

Conéctese a una base de datos .sql alojada en Google Drive a través de Colab Notebook

Conéctese a la base de datos local en otras computadoras

almacenar parámetros en la base de datos usando ngclick a través de angularjs, php, mysql

Agregue una nueva fila en la base de datos mysql a través de wordpress usando php

PDO: credenciales de la base de datos

Conéctese a las tablas de la base de datos de Hive usando postgresql-fdw desde el servidor postgresql

TOP Lista

CalienteEtiquetas

Archivo