我试图在shiny.io中创建闪亮的应用程序,这需要访问位于我本地计算机中的MySQL数据库。是否可以使用RMySQL通过shiny.io连接到本地数据库?我怎么能这样做?
答案 0 :(得分:2)
我的回答有点“迟到”,但请记住,如果你要部署到shiny.io,那么“localhost”指向shiny.io并且那里没有mysql--)所以您必须打开MySQL服务器并在“host”变量中使用您的公共IP地址。不是我提出这个,从安全的角度来看,向公众开放MySQL服务器是不明智的。如果按照这种方式,至少应该过滤连接,只允许使用shiny.io的IP地址。
另一种解决方案 - 在我看来更合理 - 可能是使用已经提供持久层的公共服务器,例如mongohq.com(现在为compose.io)。他们使用MongoDB(不是MySQL),但它可以满足您的需求(您将免费获得512MB RAM测试服务器)。您可能需要学习this working example that uses shiny.io and mongo才能启动项目。
答案 1 :(得分:0)
用法与常规R脚本中的用法基本相同。 你可以将它放在server.R文件的顶部
library(RMySQL)
con = dbConnect(MySQL(), user='myusername', password='mysillypassword', db='dataaa', host='localhost')
query = "SELECT 1"
result = dbGetQuery(con, query)
现在结果将可用于其他闪亮的应用程序。
您还可以在被动函数内构建查询,并动态查询数据库。
答案 2 :(得分:0)
在mySQL数据库中,白名单shinyapps.io IP地址。