gpt4 book ai didi

r - 使用存储的凭据通过 dplyr 连接到 MySQL 数据库

转载 作者:行者123 更新时间:2023-12-05 00:58:02 24 4
gpt4 key购买 nike

我想使用 dplyr 访问 MySQL 数据库无需将我的数据库密码存储在平面文本 R 代码中。因此,我更愿意引用我的 .my.cnf文件,但由于 src_mysql 有主机、用户和密码的默认参数,我能找到的唯一方法是通过相当优雅的:

test_db <- src_mysql("test",
default.file=path.expand("~/.my.cnf"),
host=NULL,
user=NULL,
password=NULL)

是否有更简洁的方式从 dplyr 连接到 MySQL 数据库?通过存储的凭据?

最佳答案

似乎来自哈德利对此的回应 pull request (2014 年 2 月,要求修改代码以允许阅读 my.cnf)和 documentation by Hadley (他建议使用 my.cnf 并且您应该传递 NULL 值)传递 NULL 是所需的意图。

如果这很麻烦,请考虑在您的 .Rprofile 中创建一个函数具有以下内容:

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,
...)
}

那么你可以
test_db <- src_mysql_from_cnf("test")

关于r - 使用存储的凭据通过 dplyr 连接到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33616121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com