Подтвердить что ты не робот

Подключение к базе данных MySQL с помощью RMySQL

Я делаю переход от RSQLite до RMySQL, и меня путают поля user и password. FWIW, я запускаю Windows 7, R 2.12.2, MySQL 5.5 (все 64 бит) и RMySQL 0.7-5.

Я установил RMySQL, как предписано в этом предыдущем вопросе SO, и насколько я знаю, он работает (т.е. я могу загрузить пакет с помощью library(RMySQL)). Но когда я пытаюсь запустить учебник из руководства R импорта данных, я получаю сообщение об ошибке "не удалось подключиться к базе данных...". Это код из руководства из руководства:

library(RMySQL) # will load DBI as well
## open a connection to a MySQL database
con <- dbConnect(dbDriver("MySQL"), user = "root", password = "root", dbname = "pookas")
## list the tables in the database
dbListTables(con)
## load a data frame into the database, deleting any existing copy
data(USArrests)
dbWriteTable(con, "arrests", USArrests, overwrite = TRUE)
dbListTables(con)
## get the whole table
dbReadTable(con, "arrests")
## Select from the loaded table
dbGetQuery(con, paste("select row_names, Murder from arrests",
                      "where Rape > 30 order by Murder"))
dbRemoveTable(con, "arrests")
dbDisconnect(con)

Во второй строке появляется следующая ошибка:

> con <- dbConnect(dbDriver("MySQL"), user = "richard", password = "root", dbname = "pookas")
Error in mysqlNewConnection(drv, ...) : 
  RS-DBI driver: (Failed to connect to database: Error: Access denied for user 'richard'@'localhost' (using password: NO)
)

Я пробовал с и без user и password, а с администратором - user. Я также попытался использовать dbname, который я сделал ранее, в командной строке и с тем, который не существует.

Какие-нибудь советы? Есть ли здесь хорошая ссылка? Спасибо!

4b9b3361

Ответ 1

Это, скорее всего, проблема с настройкой на стороне сервера. Убедитесь, что сетевой доступ включен.

Кроме того, локальный тест с клиентом командной строки не эквивалентен, поскольку в нем обычно используются сокеты. Журналы сервера mysql могут быть полезны.

Ответ 2

Сначала попробуйте подключиться к серверу MySQL с помощью MySQL Workbench или командной строки mysql, используя тот же параметр. Если он подключается, то R также должен быть подключен.

Обычно эта проблема возникает, когда сервер MySQL не разрешает подключения с удаленных компьютеров.

Ответ 3

Как сказали вам люди, вы можете попытаться подключиться к хосту с другим приложением как workbench mysql. Как странно! Когда я попытался в RStudio подключиться к моему db с вашим кодом, не указывая на хост в команде, я не смог подключиться.

Мне нужно указать хост (host = 'localhost') в команде.