我R中新,我试图与R与MySQL连接。 我已经安装mysql-5.5.22-winx64
和R-2.12.0
为64位。 我已经设置MYSQL_HOME environment path(C:\Program Files\MySQL\MySQL Server 5.5)
并试图按照下列步骤操作:
- 安装从这里最新RTools
- 安装MySQL或头和mysql的库文件
- 创建或编辑文件
C:\Program Files\R\R-2.12.1\etc\Renviron.site
并添加这样一行MYSQL_HOME=C:/mysql
(路径,你的mysql文件) - 副本
libmysql.lib
从mysql/lib
到mysql/lib/opt
满足的依赖关系。 - 复制
libmysql.dll
到C:\Program Files\R\R-2.12.1\bin
或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:\Users\sharad\AppData\Local\Temp\RtmpdQHwCb\downloaded_packages' Warning message: In install.packages("RMySQL", type = "source") : installation of package 'RMySQL' had non-zero exit status*
请建议我我如何才能解决这个问题?
最后,我得到了解决: -你可以看到我的详细解决方案博客 。
我正在为最后2天与RMySQL包r的安装,终于得到了该解决方案,下面是安装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 eg MYSQL_HOME= C:\Program Files\MySQL\MySQL Server 5.5\ b. R_HOME: <drive>/path to R installation eg R_HOME=C:\Program Files\R\R-2.13.2\ c. PATH: Modify path to accommodate the above variables. *
请确保以下路径在Windows的PATH变量areincluded:\ Rtools \ 2.14 \ BIN \ Rtools \ 2.14 \ MinGW的\ BIN \ Rtools \ 2.14 \ MinGW64 \ BIN
创建文件夹和复制文件
* a. OPT: Create a folder OPT under C:\Program Files\MySQL\MySQL Server 5.5\lib and copy MYSQLLIB.LIB the above path. Also copy libmysql.dll to <drive>\<path>\R\R-2.14.0\bin\(64 bit) Or <Drive>\<path>\R\R-2.14.0\bin\i386\ (32 bit) and to C:\Windows\System32. b. Renviron.site: create or edit a file <DRIVE>\<path>\R\R-2.14.0\etc\Renviron.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 Files\R\R-2.13.2\bin\i386 as well as C:\Program Files\R\R-2.13.2\bin*
运行命令
一个。 Install.Packages:通过点击桌面或开始菜单将R图标运行右Gui。 键入INSTALL.PACKAGES(“RMySQL”,类型=”源”)。 这将下载从仓库所需的软件。
湾 命令提示符:复制下载的zip文件(步骤4.a.中),并粘贴在R安装过程中的文件夹。 进入开始菜单,打开命令提示符。 进入到R安装文件夹和R型CMD INSTALL RMySQL_0.8-0.tar.gz
*命令:
库(RMySQL)DRV = dbDriver( “MySQL的”)CON =数据库连接(DRV,主机= “本地主机”,则dbname = “测试”,用户= “根”,传= “根”)专辑= dbGetQuery(CON,语句= “选择t_master *”)专辑*
它不是一个直接的答案,但仍可能会发现它有用:
使用更达R的最新版本(目前为2.15)
在Windows平台上,我宁愿用RODBC +的Windows MySQL驱动程序,除非你是在与在代码是大量团队成员之间共享异构平台(如Linux和Windows)环境。 即使再根据其运行的平台上相同的脚本使用RMySQL和RODBC之间进行选择是一个简单的if() {...} else {...}
请注意,我不是说有没有什么你正在尝试做的成功的故事,但恕我直言,你就可以启动并运行上述越快。
现在,您可以跳过所有复杂的步骤,只是做install.packages("RMySQL")
我在Mac OSX上一个黑客马拉松跑进这个周末 - 我花了扎实的4小时,尽管有一些参考材料(在末尾提到)拼凑的一切。 我没有找到一个简单的步行通过,所以我决定发布一个,而它在我的脑海里记忆犹新。
我不知道与Windows兼容的,但希望这些说明将会使你更容易了。
我试图让R和MySQL来在本地环境中通信(有可能需要为服务器环境的变化)。 我使用的XAMPP(虽然我没有使用RMySQL的连接),但最终我还是能够使用PHP页面写一个R档,执行该文件,并有R写入到一个MySQL表。 据我所知,这仅适用于MacOSX的...
使用的所有软件是DMG形式,从而没有二进制安装必要的。
下载R和运行一些基本的命令,以确保您有它的工作。
在R,您需要安装RODBC(如果你没有它的话)。 输入到R控制台此。
install.packages("RODBC")
这将安装RODBC,但由于OS小牛,某些文件不再包括在内,所以你得到一个错误信息
ODBC头sql.h和sqlext.h未找到
你需要得到正确的地点sql.h和sqlext.h文件。
要做到这一点最简单的方法,确保您有自制软件安装(方便指令)。 然后用这个代码在终端进行安装。
一旦这样做了,你进入到R控制台一次
install.packages("RODBC")
搜索MySQL的适当的ODBC安装 。 我运行的Mac OSX 10.6,所以我下载的DMG并安装它。 这花了自己照顾自己。
现在到了棘手的部分。 显然,苹果OX拿出ODBC管理最近OS发布后,所以你需要下载ODBC管理器( http://www.odbcmanager.net/ )。 这也是一个DMG文件,所以只需拖放到你的实用程序文件夹。
我曾与5.3.6 DMG困难安装(固定为失败的),所以我安装5.2.7代替。
打开ODBC管理器。 您需要配置的DSN,那么单击该选项卡“系统DSN”,然后单击“添加”。
你会得到一个弹出窗口,要求你选择一个驱动程序。 矿井有“MySQL的ODBC驱动程序5.2”基于我的MySQL ODBC安装。 单击“确定”。 如果您没有看到司机,那么你需要确认所安装的MySQL的ODBC。
在接下来的弹出窗口,使任何你想要的数据源名称(DSN) - 但请记住,这是你需要使用从R.调用在下面(关键字的关键字区域将是加引号的姓名和值将是在括号中),ADD
“数据库”(与你的数据库名称的值)
“服务器”(对于本地环境上不要使用localhost - 而不是使用本地IP地址127.0.0.1 ***这对我来说是关键棋子)
“UID”(数据库用户ID)
“PWD”(数据库密码)
“插座”(不知道这是必需的,但多个教程后,留在我的配置和工作的事情,所以也许你需要它你可以在你的my.cnf插座的位置。 - 做一个Spotlight搜索的套接字文件位置是下CLIENT)
下面是我的配置看起来像:
DSN(“测试” - 这是在顶部)
数据库(“电视”)
插座( “/Applications/XAMPP/xamppfiles/var/mysql.sock”)
UID( “根”)
PWD( “”)
服务器( “127.0.0.1”)
在R,执行下面的 - 我相信这最后的3个步骤,需要每次启动R和你之前做一个MySQL查询的时间内完成。
库(RODBC)
请确保您开启的MySQL和Apache从XAMPP控制面板。
然后执行
odbcConnect(“测试”) - 注意我如何用我的DSN在双引号。 交换是必要的。
这应该让你和运行。 你可以阅读有关R.在制作MySQL查询其他教程
我从很多Stack Overflow上伟大的职位(感谢大家!),随机其他网站/电子邮件交流历史的黑客攻击了一起,而“R简而言之”一书由约瑟夫·阿德勒,但让我知道如果我错过了什么,或者它不清楚。
祝好运!
我还花了几个小时试图让这项工作在Windows 10,收到错误。 我发现RMySQL的修复是凌乱和复杂的,但RODBC有更多的无痛苦和优雅导致的解决方案。 我有R,RStudio,MySQL服务器,MySQL工作台并需要以下步骤,使其工作:
- 安装在RStudio包
install.packages(RODBC)
- 下载并安装MySQL ODBC连接器在这里
- 配置MySQL ODBC连接器。 下面是一些说明。 从Windows 10“ODBC”启动画面只是搜索,它会弹出窗口。 获取连接参数正确,并使用测试按钮,以确保它的工作。 它显示了你的数据库的一个下拉菜单,一旦连接列表。 在“数据源名称”给它一个名称,其将进入将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 32位操作系统,R工作室,Rv2.15.3
按照说明从: http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL
但是,如果你已经下载MySQL的版本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
中opt
文件夹。 然后Renviron.site
文件都会有这样的: MYSQL_HOME=D:/Program Files/MySQL/MySQL Server 5.6
。 请注意正斜杠。
最后,遵循install.packages行指令在上面提供的链接。 我不得不做一些试验,以得到它的最终权利。
这里遵循的指导:
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'
然后从OUTSIDE [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