Как запустить RMySQL в shinyapps (локально работает нормально)

#mysql #r #shiny #dbi #rmysql

#mysql #r #блестящий #dbi #rmysql

Вопрос:

У меня странная проблема: использование RMySQL из Shiny (работает локально) У меня нет проблем с извлечением данных из базы данных MySQL (небольшая таблица, всего несколько строк). Но как только приложение будет развернуто (shinyapps.io ) результат запроса содержит нулевые строки (но имена столбцов в порядке). Глядя на shinyapps.io журнал регистрации:

 Warning in dbFetch(rs, n = n, ...) : error while fetching rows
 

Что я делаю не так? То же самое работало раньше, и теперь я не могу запустить его. Подключение к MySQL кажется нормальным.

 library(shiny)
library(DBI)

ui <- fluidPage(
    numericInput("nrows", "Enter the number of rows to display:", 5),
    tableOutput("tbl")
)

server <- function(input, output, session) {
    output$tbl <- renderTable({
        conn <- dbConnect(
            drv = RMySQL::MySQL(),
            dbname = "***",
            host = "***",
            username = "***",
            password = "***")
        on.exit(dbDisconnect(conn), add = TRUE)
        dbGetQuery(conn, paste0(
            "SELECT * FROM datasets LIMIT ", input$nrows, ";"))
    })
}

shinyApp(ui, server)
 

Редактировать:
Когда я использую фиктивную базу данных Shiny (из этого примера), она работает нормально, так что похоже на какую-то проблему с MySQL, но не могу понять, какую… Есть идеи?

 dbname = "shinydemo",
host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com",
username = "guest",
password = "guest")
 

ПРАВКА2
Я перепробовал все. Создайте новую таблицу, новую базу данных (хотя и на том же хостинге), другую учетную запись shinyapps, новую установку R со всеми обновленными пакетами, все та же проблема. Когда приложение работает локально, все в порядке. Но из shinyapps — ошибка и нулевые результаты (кроме colnames).

Ответ №1:

Хорошо, я понятия не имею, почему, но похоже, что изменение механизма таблиц устраняет проблему

ALTER TABLE table_name ENGINE = InnoDB