rapache と brew を使用して Web アプリケーションを開発しています。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")
動作します。
ただし、このアプローチがどれほど安全かはわかりません。