【问题标题】:Connect to MySQL from shinyapps.io从 shinyapps.io 连接到 MySQL
【发布时间】:2018-08-07 14:09:10
【问题描述】:

我有一个工作的 Shiny 应用程序,它通过 pool 查询远程 MySQL 数据库,我可以在我的本地计算机上运行它。

MySQL服务器有whitelisted shinyapps.io IP addresses.

当我将它部署到 shinyapps.io 时,我收到此错误:

.global

library(shiny)
library(DBI)
library(pool)
library(DT)

pool <- dbPool(
  drv      = RMySQL::MySQL(),
  dbname   = "gw_observatory",
  host     = "sage.metro.ucdavis.edu",
  username = "gw_observatory", 
  password = "password"
)
onStop(function() {
  poolClose(pool)
})

.服务器

shinyServer(function(input, output, session) {

  output$data_table <- renderDataTable({

    DT::datatable(pool %>% tbl("small_data") %>% collect())

  })

.ui

shinyUI(
  fluidPage(
      mainPanel(DT::dataTableOutput("data_table"))
  )
)

【问题讨论】:

    标签: shiny rmysql


    【解决方案1】:

    更新:现在可以使用了。我的系统管理员添加了一个端口,这解决了问题。

    对于遇到此问题的任何人,我推荐以下步骤:

    1. 确保您的 shinyapp 在本地运行
    2. 如果您在 shinyapps.io 上遇到部署错误,请确保:

      • 您的数据库已将 shinyappsio IP 地址列入白名单
      • 您的主机是外部的公共 IP 或 URL,而不是内部的
      • 一些机构有非常严密的防火墙。尝试将端口添加到您的数据库。

    我希望这可以帮助某人!

    pool <- dbPool(
      drv      = RMySQL::MySQL(),
      dbname   = "some_name",
      host     = "123.45.678.901",
      username = "some_username", 
      password = "password",
      port     = 1234567
    )
    

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 2020-02-18
      • 1970-01-01
      • 2021-09-03
      • 2022-11-10
      • 2021-10-31
      • 2018-11-05
      • 2013-11-03
      • 2017-12-11
      相关资源
      最近更新 更多