Я занимаюсь разработкой веб-приложения с использованием Rapache и Brew. В коде R я хочу использовать пакет RMySQL для запроса базы данных MySQL, но я задаю вопрос, как лучше всего получить доступ к данным для входа в базу данных из скрипта R.
После некоторых предложений по аналогичной проблеме с PHP одна мысль заключалась в том, чтобы сделать следующее в интерактивном сеансе, чтобы сохранить сведения о соединении в файле за пределами /var/www
:
con <- dbConnect(MySQL(), dbname = "mydb", user = "myuser", pass = "mypass")
save(con, file = "/home/myuser/sqlconnect.rda")
И затем в скрипте, запущенном через Rapache / Brew, загрузите файл .rda
:
<%
load("/home/myuser/sqlconnect.rda")
query <- "MY QUERY"
result <- dbGetQuery(con, query)
%>
Я еще не пробовал этот подход. Я даже не уверен, что мой sqlconnect.rda
файл будет содержать всю информацию, необходимую для подключения.
Есть ли более безопасный способ настроить оператор dbConnect()
?
Обновление
Сохранение вывода dbConnect()
в файл не работает, поскольку время соединения истекло. Однако source
извлекает .R
файл из моего каталога пользователя, содержащий
library(RMySQL)
con <- dbConnect(MySQL(), dbname = "mydb", user = "myuser", pass = "mypass")
работает.
Однако я не знаю, насколько безопасен этот подход.