#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, теперь все работает нормально.