2

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

4

3 回答 3

3

我的回答有点“迟到”,但请记住,如果您正在部署到 shiny.io,那么“localhost”将指向 shiny.io,并且那里没有适合您的 mysql :-) 所以您应该有打开您的 MySQL 服务器并在“主机”变量中使用您的公共 IP 地址。并不是我提议这样做,从安全的角度来看,向公众开放你的 MySQL 服务器是不明智的。如果你按照这种方式,至少,你应该过滤连接,只允许shiny.io的IP地址。

另一个解决方案 - 在我看来更合理 - 可能是使用已经为您提供持久层的公共服务器,例如 mongohq.com (现在compose.io)。他们使用 MongoDB(不是 MySQL),但它可以满足您的需求(您将免费获得 512MB RAM 测试服务器)。您可能想研究这个使用 shiny.io 和 mongo的工作示例,以便启动您的项目。

于 2014-12-08T21:27:11.073 回答
0

用法与常规 R 脚本中的用法基本相同。你可以把它放在你的 server.R 文件的顶部

library(RMySQL)
con = dbConnect(MySQL(), user='myusername', password='mysillypassword', db='dataaa', host='localhost')

query = "SELECT 1"
result = dbGetQuery(con, query)

现在结果将可用于闪亮应用程序的其余部分。

您还可以在反应函数中构建查询,并动态查询数据库。

于 2014-07-25T05:42:34.597 回答
0

在您的 mySQL 数据库中,将 shinyapps.io IP 地址列入白名单

请参阅Rstudio 支持的这篇有用的帖子。

于 2018-02-23T20:17:21.303 回答