我正在编写一个R程序包以提交给Bioconductor。它需要从远程mysql服务器获取4个数据库。我的问题是,关于主机服务器和mysql的用户名和密码,正确的处理方法是什么?到目前为止,我已经能够通过使用以下方法在本地创建SSH隧道来获取数据:
ssh -L 3307:localhost:3306 username@mycompany.org
然后在R中运行以下命令:
library(RMySQL)
library(dbConnect)
options(warn=-1)
getData <- function(){
driver = dbDriver("MySQL");
connection = dbConnect(driver, user='**', password='**', dbname='dbname', host='127.0.0.1',port=3307);
assign("age",dbGetQuery(connection, statement= paste("select * from age")),.GlobalEnv);
assign("biblio",dbGetQuery(connection, statement= paste("select * from biblio")),.GlobalEnv);
}
这会获取我所需的数据。因为要提交并最终发布,连接到服务器,获取数据然后关闭连接而不暴露服务器或密码的正确方法是什么?