使用shiny.io访问本地mysql服务器

时间:2014-07-25 05:19:19

标签: r rmysql shiny

我试图在shiny.io中创建闪亮的应用程序,这需要访问位于我本地计算机中的MySQL数据库。是否可以使用RMySQL通过shiny.io连接到本地数据库?我怎么能这样做?

3 个答案:

答案 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地址

请参阅此helpful post from Rstudio support