Как подключить R с MySQL или как установить пакет RMySQL?
я новичок в R, и я пытаюсь подключить R с MySQL. Я установил mysql-5.5.22-winx64
и R-2.12.0
для 64-разрядной. Я уже установил MYSQL_HOME environment path(C:Program FilesMySQLMySQL Server 5.5)
и пытается выполнить следующие шаги:
- установить последние RTools отсюда
- установить MySQL или заголовочные и библиотечные файлы mysql
- создать или редактировать файл
C:Program FilesRR-2.12.1etcRenviron.site
и добавить строку типаMYSQL_HOME=C:/mysql
(путь к файлам mysql) - скопировать
libmysql.lib
Сmysql/lib
tomysql/lib/opt
на встречу зависимости. - скопировать
libmysql.dll
toC:Program FilesRR-2.12.1bin
илиwindows/system32 directory
. -
выполнить
install.packages('RMySQL',type='source')
и ждать, пока компиляция закончится. но все же я получаю эту ошибку: -*> install.packages('RMySQL',type='source') --- Please select a CRAN mirror for use in this session --- trying URL 'http://ftp.iitm.ac.in/cran/src/contrib/RMySQL_0.9-3.tar.gz' Content type 'application/x-gzip' length 165363 bytes (161 Kb) opened URL downloaded 161 Kb * installing *source* package 'RMySQL' ... ERROR: configuration failed for package 'RMySQL' * removing 'C:/PROGRA~1/R/R-212~1.0/library/RMySQL' * restoring previous 'C:/PROGRA~1/R/R-212~1.0/library/RMySQL' The downloaded packages are in ‘C:UserssharadAppDataLocalTempRtmpdQHwCbdownloaded_packages’ Warning message: In install.packages("RMySQL", type = "source") : installation of package 'RMySQL' had non-zero exit status*
пожалуйста предложите меня как могу я разрешить эту проблему?
наконец-то я получил решение:- Вы можете увидеть решение подробно на my блог.
я работал последние 2 дня над установкой R с пакетом RMySQL, наконец, получил решение для этого, вот шаги по установке пакета RMySQL: -
-
ЗАГРУЗИТЬ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИЗ СЛЕДУЮЩИХ ССЫЛОК:
* a. R2.13.2: Download R from http://cran.stat.sfu.ca/index.html b. RTools 214: Download RTools from http://cran.cict.fr c. RMySQL 0.8-0.tar.gz: Download RMySQL from http://biostat.mc.vanderbilt.edu/wiki/main/RMySQL/RMySQL_0.8-0.tar.gz d. MySQL Server 5.0: download it from http://dev.mysql.com e. RSTUDIO (optional): download it from http://rstudio.org*
-
ЗАДАЙТЕ СЛЕДУЮЩИЕ ПЕРЕМЕННЫЕ СРЕДЫ
* a. MYSQL_HOME : <drive>/path to MySQL installation folder e.g. MYSQL_HOME= C:Program FilesMySQLMySQL Server 5.5 b. R_HOME: <drive>/path to R installation e.g. R_HOME=C:Program FilesRR-2.13.2 c. PATH: Modify path to accommodate the above variables. *
убедитесь, что следующие пути включены в переменную пути Windows: Rtools2.14bin Rtools2.14MinGWbin Rtools2.14MinGW64bin
-
СОЗДАТЬ ПАПКУ И СКОПИРОВАТЬ ФАЙЛЫ
* a. OPT: Create a folder OPT under C:Program FilesMySQLMySQL Server 5.5lib and copy MYSQLLIB.LIB the above path. Also copy libmysql.dll to <drive><path>RR-2.14.0bin(64 bit) Or <Drive><path>RR-2.14.0bini386 (32 bit) and to C:WindowsSystem32. b. Renviron.site: create or edit a file <DRIVE><path>RR-2.14.0etcRenviron.site and add a line: MYSQL_HOME =”C:/Program Files/MySQL/MySQL Server 5.5/” NB: USE FORWARD SLASH AND DOUBLE QUOTES HERE c. libMySQL.dll: Copy this file to C:Program FilesRR-2.13.2bini386 as well as C:Program FilesRR-2.13.2bin*
-
КОМАНДЫ
a. Установить.Пакеты: запустите R GUI, щелкнув значок R на рабочем столе или в меню "Пуск". Тип установить.Пакеты ("RMySQL", type="Sources"). Это позволит загрузить необходимое программное обеспечение из репозиториев.
b. Командная строка: скопируйте загруженный zip-файл (на шаге 4.а) и вставьте его в папку установки Р. Перейдите в меню Пуск и откройте Командную строку. Перейдите в папку установки R и введите R CMD INSTALL RMySQL_0.8-0.смола.gz
*команды:
библиотека(RMySQL) drv = dbDriver ("MySQL") кон = dbConnect(ДРВ,в host="localhost"в,базе данных dbname="тест",пользователь="корень",передать="корень") альбом = dbGetQuery(con, statement= " select * from t_master") альбом*
-
7 ответов
это не прямой ответ, но все же вы можете найти его полезным:
используйте более актуальную версию R (в настоящее время в 2.15)
на платформах Windows я бы предпочел использовать драйвер RODBC + Windows MySQL, если вы не находитесь в среде с гетерогенными платформами (например, Linux и Windows), где код широко используется среди членов команды. И даже тогда выбор между использованием RMySQL и RODBC в одном скрипте в зависимости от платформы, которую он запускает простой
if() {...} else {...}
я столкнулся с этим в выходные на хакатоне на Mac OSX-мне потребовалось 4 часа, чтобы собрать все вместе, несмотря на наличие нескольких справочных материалов (упомянутых в конце). Я не нашел легкий проход, поэтому я решил опубликовать его, пока он свеж в моем уме.
Я не уверен в совместимости с Windows, но надеюсь, что эти инструкции облегчат вам тоже.
Я пытался получить R и MySQL для связи в локальной среде (для серверной среды могут потребоваться изменения). Я использую XAMPP (хотя я не использовал RMySQL для соединения), но в конце концов я смог использовать страницу PHP для записи файла R, выполнения этого файла и записи R в таблицу MySQL. Насколько мне известно, это работает только для MacOSX...
все используемое программное обеспечение было в форме dmg, поэтому двоичные установки не требуются.
Скачать R и выполните некоторые основные команды, чтобы убедиться, что у вас есть это работает.
в R вам нужно установить RODBC (если у вас его еще нет). Введите это в консоли Р.
install.packages("RODBC")
это устанавливает RODBC, но так как OS Mavericks, некоторые файлы больше не включены, поэтому вы получаете сообщение об ошибке
заголовки ODBC sql.h и sqlext.ч не нашел
и вам нужно получить sql.h и sqlext.H-файлы в нужное место.
для этого простой способ, убедитесь, что у вас есть доморощенного установлен (простые инструкции). Тогда используйте это код в терминале, чтобы сделать установку.
Как только это будет сделано, вы входите в консоль R еще раз
install.packages("RODBC")
Поиск MySQL для соответствующей установки ODBC. Я запускаю Mac OSX 10.6, поэтому я загрузил dmg и установил его. Это само о себе позаботилось.
теперь начинается самое сложное. По-видимому, Mac OX вывел администратора ODBC после недавнего выпуска ОС, поэтому вам нужно загрузить ODBC Manager (http://www.odbcmanager.net/). Это тоже dmg-файл, поэтому просто перетащите его в папку utilities.
у меня были трудности с установкой 5.3.6 dmg (продолжался сбой), поэтому я установил 5.2.7 вместо этого.
открыть Диспетчер ODBC. Вам нужно настроить DSN, поэтому перейдите на вкладку " системный DSN" и нажмите кнопку "Добавить".
вы получите всплывающее окно с просьбой выбрать драйвер. У меня был "драйвер MySQL ODBC 5.2" на основе моей установки MySQL ODBC. нажимать OK." Если вы не видите драйвер, то вам нужно подтвердить, что установлен MySQL ODBC.
-
в следующем всплывающем окне сделайте имя источника данных (DSN), что вы хотите - но помните, что это имя, которое вам нужно использовать для вызова из R. в области ключевых слов ниже (ключевые слова будут в кавычки и значение будут в круглых скобках), добавить
"база данных" (со значением вашего имени базы данных)
"server" (для локальной среды не используйте localhost - вместо этого используйте локальный IP-адрес 127.0.0.1. *** Это был ключевой кусок для меня)
" uid "(ID пользователя базы данных)
" pwd " (пароль базы данных)
"сокет" (не уверен, что это было необходимо, но после нескольких учебных пособий он остался в моей конфигурации, и все работает, поэтому, возможно тебе это нужно. Вы можете найти свое местоположение гнезда в моей.cnf-сделайте поиск в центре внимания. Расположение файла сокета находится под CLIENT)
вот как выглядела моя конфигурация:
DSN ("тест" - это было вверху)
Я также потратил несколько часов, пытаясь сделать эту работу в Windows 10, получая ошибки. Исправления, которые я нашел для RMySQL, были грязными и сложными, но RODBC более безболезненно и элегантно привел к решению. У меня был R, RStudio, MySQL Server, MySQL Workbench, и для его работы требовались следующие дополнительные шаги:
- установите пакет в RStudio
install.packages(RODBC)
- Загрузите и установите MySQL ODBC connector здесь
- настроить соединитель ODBC MySQL. здесь некоторые инструкции. Просто выполните поиск на начальном экране Windows 10 для "ODBC", и появится это окно. Получите правильные параметры соединения и используйте кнопку test, чтобы убедиться, что он работает. Он показывает список ваших баз данных в раскрывающемся меню после подключения. В "имени источника данных" дайте ему имя, которое войдет в скрипт R, скажем 'mysql_odbc'
теперь вы можете подключиться, выполнить запрос и отключить:
library(RODBC)
cursor <- odbcConnect("mysql_odbc", uid="root", pwd="HaysPuffyWalton5")
out <- sqlQuery(cursor, "SELECT * FROM emp WHERE deptno = 10");
close(cursor);
это сработало для меня: использование Windows XP SP3 32bit OS, R Studio, Rv2.15.3
следуйте инструкциям из:http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL
однако, если вы загрузили MySQL edition 5.6, вам придется скопировать libmysql.lib
присутствует, например, в этом пути:D:\Program Files\MySQL\MySQL Server 5.6\lib
и создайте новую папку, как в: D:\Program Files\MySQL\MySQL Server 5.6\lib\opt
и вставить выше libmysql.lib
на .
Тогда Renviron.site
файл будет иметь следующее:MYSQL_HOME=D:/Program Files/MySQL/MySQL Server 5.6
. Обратите внимание на косая черта.
наконец следуйте инструкциям по установке.линия пакетов, как указано в ссылке выше. Мне пришлось пройти несколько испытаний, чтобы все исправить.
следуйте инструкциям здесь:
http://www.ahschulz.de/2013/07/23/installing-rmysql-under-windows/
Я последовал за ним, и он работал как шарм. :)
ЕСЛИ ЭТА ОШИБКА В R
library(RMySQL)
#-----------
Loading required package: DBI
Error : .onLoad failed in loadNamespace() for 'RMySQL', details
call: i$Location
error: $ operator is invalid for atomic vectors
Error: package or namespace load failed for 'RMySQL'
ТОГДА ИЗВНЕ R
set MYSQL_HOME=F:/Program Files/MySQL/MySQL Server 5.6
И:
library(RMySQL)
#Loading required package: DBI
#MYSQL_HOME defined as F:/Program Files/MySQL/MySQL Server 5.6
ИЛИ ПРОСТО ИЗНУТРИ R
Sys.setenv(MYSQL_HOME = "F:/Program Files/MySQL/MySQL Server 5.6")
library(RMySQL)
#Loading required package: DBI
#MYSQL_HOME defined as F:/Program Files/MySQL/MySQL Server 5.6