从shinyapps.io连接到MySQL

从shinyapps.io连接到MySQL,shiny,rmysql,Shiny,Rmysql,我有一个运行良好的应用程序,可以通过pool查询远程MySQL数据库,我可以在本地机器上运行 MySQL服务器已经启动 当我将其部署到shinyapps.io时,会出现以下错误: .全球 更新:现在可以使用了。我的系统管理员添加了一个端口,解决了这个问题 对于遇到此问题的任何人,我建议采取以下步骤: 确保您的shinyapp在本地工作 如果在shinyapps.io上出现部署错误,请确保: 您的数据库已将shinyappsio IP地址列为白名单 您的主机是外部、公共IP或URL,而不是内部

我有一个运行良好的应用程序,可以通过
pool
查询远程MySQL数据库,我可以在本地机器上运行

MySQL服务器已经启动

当我将其部署到shinyapps.io时,会出现以下错误:

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

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

  • 确保您的shinyapp在本地工作
  • 如果在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
    )
    
    shinyServer(function(input, output, session) {
    
      output$data_table <- renderDataTable({
    
        DT::datatable(pool %>% tbl("small_data") %>% collect())
    
      })
    
    shinyUI(
      fluidPage(
          mainPanel(DT::dataTableOutput("data_table"))
      )
    )
    
    pool <- dbPool(
      drv      = RMySQL::MySQL(),
      dbname   = "some_name",
      host     = "123.45.678.901",
      username = "some_username", 
      password = "password",
      port     = 1234567
    )