Доступ к MariaDB с помощью приложения R Shiny (на том же сервере)

#r #shiny #mariadb #database-connection

#r #блестящий #mariadb #подключение к базе данных

Вопрос:

У меня есть сервер в локальной сети, на котором установлены как MariaDB, так и R Shiny. В целях тестирования я создал базу данных с таблицей и очень простым приложением R Shiny, которое должно отображать эту таблицу. Если приложение Shiny работает на моем компьютере, оно может получить доступ к базе данных на сервере и отобразить таблицу без каких-либо проблем. Но когда я развертываю приложение на сервере (хост изменен на 127.0.0.1), название приложения отображается на короткое время, но приложение немедленно отключается при попытке отобразить таблицу. У кого-нибудь есть идея, в чем может быть проблема? Заранее благодарю вас за любые подсказки.

Вот мой 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")
    })

})

 

Ответ №1:

К сожалению, я упустил из виду тот факт, что RMariaDB не был правильно установлен на сервере R. Установка завершилась неудачно, поскольку на сервере не было найдено клиентской библиотеки mysql. Установив libmariadbclient-dev на сервер и переустановив RMariaDB R-package, теперь все работает нормально.