使用 R Shiny App 访问 MariaDB(在同一台服务器上)

Accessing MariaDB with R Shiny App (on same server)

我在本地网络中有一台服务器,上面安装了 MariaDB 和 R Shiny。出于测试目的,我创建了一个带有 table 的数据库和一个非常简单的 R Shiny 应用程序,它应该显示这个 table。如果 Shiny App 在我的电脑上运行,它可以访问服务器上的数据库并显示 table 没有任何问题。但是当我在服务器上部署应用程序时(主机更改为 127.0.0.1),应用程序的标题会短暂显示,但在尝试显示 table 时应用程序会立即断开连接。有谁知道问题可能是什么?提前感谢您的任何提示。

这是我的 server.R:

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

pool <- dbPool(
    drv      = MariaDB(),
    user     = "user",
    password = "user-password",
    host     = "127.0.0.1",
    port     = 3306,
    dbname   = "test")

onStop(function() {
    poolClose(pool)
})

shinyServer(function(input, output) {
    output$table <- DT::renderDataTable({        
        dbReadTable(pool, "table1")
    })

})

不幸的是,我忽略了 RMariaDB 没有正确安装在 R 服务器上的事实。安装失败,因为在服务器上找不到 mysql 客户端库。通过在服务器上安装 libmariadbclient-dev 并重新安装 RMariaDB R-package,现在一切正常。