从shinyapps.io连接到MySQL

问题描述 投票:2回答:1

我有一个工作的Shiny App通过pool查询远程MySQL数据库,我可以在我的本地机器上运行。

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

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

enter image description here

。全球

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个回答
0
投票

更新:它现在有效。我的系统管理员添加了一个端口,这解决了问题。

对于遇到此问题的任何人,我建议采取以下步骤:

  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
)
© www.soinside.com 2019 - 2024. All rights reserved.