将RMySQL包添加到R失败(在Windows上)?

时间:2011-01-24 18:58:20

标签: mysql r package rmysql

我无法弄清楚为什么我的RMySQL软件包无法安装 - 这就是我得到的:

> install.packages('RMySQL',type='source')
trying URL 'http://cran.mirrors.hoobly.com/src/contrib/RMySQL_0.7-5.tar.gz'
Content type 'application/x-gzip' length 160769 bytes (157 Kb)
opened URL
downloaded 157 Kb

* installing *source* package 'RMySQL' ...
ERROR: configuration failed for package 'RMySQL'
* removing 'C:/PROGRA~1/R/R-212~1.0/library/RMySQL'

The downloaded packages are in '(foo)'

Warning message:
In install.packages("RMySQL", type = "source") : installation of package 'RMySQL' had    non-zero exit status

我不认为这是MySQL安装的问题,因为正确的值似乎在注册表中:

> Sys.getenv('MYSQL_HOME')
                 MYSQL_HOME "C:/PROGRA~1/MySQL/MYSQLS~1.1/" 
> readRegistry("SOFTWARE\\MySQL AB", hive="HLM", maxdepth=2)
$`MySQL Server 5.1`
$`MySQL Server 5.1`$DataLocation
[1] "C:\\Documents and Settings\\All Users\\Application Data\\MySQL\\MySQL Server 5.1\\"

$`MySQL Server 5.1`$FoundExistingDataDir 
[1] "0"

$`MySQL Server 5.1`$Location 
[1] "C:\\Program Files\\MySQL\\MySQL Server 5.1\\"

$`MySQL Server 5.1`$Version
[1] "5.1.54"

困惑。任何帮助将不胜感激!

11 个答案:

答案 0 :(得分:19)

基本过程描述为here,但有几个提示,所以我将描述整个解决方案(如果需要,请更改R版本和路径)

  1. here
  2. 安装最新的RTools
  3. 安装MySQL或mysql的头文件和库文件
  4. 创建或编辑文件C:\Program Files\R\R-2.12.1\etc\Renviron.site并添加MYSQL_HOME=C:/mysql 之类的行(mysql文件的路径)
  5. 将libmysql.lib从mysql / lib复制到mysql / lib / opt以满足依赖关系。
  6. 将libmysql.dll复制到C:\Program Files\R\R-2.12.1\binwindows/system32目录。
  7. 运行install.packages('RMySQL',type='source')并等待编译结束。
  8. 这适用于Windows 7 64位,因此32位版本应该没有问题

    最初发布here(类似问题)。

答案 1 :(得分:3)

首先,我会尝试按照此页面上的说明操作:http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL

然后,确保您的计算机上确实有一个MySQL客户端,而不仅仅是服务器本身。我自己遇到了一个问题,我不得不为客户端使用较旧的二进制文件,但你可以从mysql网站下载这些文件。

答案 2 :(得分:3)

我创建了一个可能适用于人们的二进制文件:

http://kenahoo.blogspot.com/2011/09/rmysql-binary-for-windows-7.html

我基本上遵循了所有这些指示,包括Vanderbilt页面上的指示,但出于某种原因,它似乎并不总是有用。无论如何,希望这可能对那些拥有相同版本的东西的人有所帮助。

答案 3 :(得分:2)

我在使用R 2.12.1 x64的Windows 7上遇到了同样的问题并通过以下方式解决了这个问题:

  1. PATH变量中的R目录更改为C:\Program Files\R\R-2.12.1\bin\x64(而不仅仅是...\R-2.12.1\bin)。
  2. ...\MySQL Server 5.5\lib\libmysql.dll复制到...\MySQL Server 5.5\bin\
  3. 在cmd.exe中运行R CMD INSTALL RMySQL_0.7-5.tar.gz(R中的install.packages('RMySQL',type='source')仍然不起作用。)

答案 4 :(得分:2)

我偶然发现了在Windows7 64位下安装RMySQL的分步指南。

http://www.ahschulz.de/2013/07/23/installing-rmysql-under-windows/

我使用的软件是:

  1. Windows 8操作系统
  2. R3.0.2 - 64位
  3. Rtools 3.1
  4. MySQL服务器社区版5.6 - 64位
  5. 按照上面的指南(提供截图),我的RMySQL包的安装和加载工作正常。

    非常感谢Arne Hendrik Schulz!

答案 5 :(得分:1)

正如马雷克所说。此软件包没有Windows二进制文件。当我尝试安装RPostgreSQL时,我在Mac上遇到了类似的麻烦(因为Mac没有二进制文件),最后我必须自己编译并修改几个文件。

对于MySQL部分(如果您对MySQL不太了解),您可能希望使用WAMP,这可能比您需要的更多,但易于安装以及启动和关闭。

对于某些编译帮助,您可能对Rtools

感兴趣

HTH

顺便说一下:你跑什么样的窗户(如果我错过的话,圣诞节)

答案 6 :(得分:1)

然而,您目前还有一项额外要求(使用MySQL服务器版本5.5和R2.12.1),请按照目前的@biostat.mc.vanderbilt.edu/wiki/Main/RMySQL说明进行操作。 libmySQL.dll与包中的预期不同。

即。用于64位编译。 它希望libmySQL.dll位于“$ {MYSQL_HOME}”/ bin / libmySQL.dll中 所以简单地将dll复制到/ bin目录,它现在将编译。

用于32位编制。 libmySQL.lib应该在“$ {MYSQL_HOME}”/ lib / opt / libmysql.lib中 再次移动这应该解决问题。

或者,如果您不想或不能移动这些文件。然后你可以编辑源代码文件: Makevars.win Makevars.win32 Makevars.win64  适当地指向/lib/libmysql.dll /lib/libmysql.lib

答案 7 :(得分:1)

将MySQL和RTools目录添加到PATH!

这是我的路径; ~blah~;C:\Program Files\MySQL\MySQL Server 5.5\bin;c:\rtools\bin;C:\Rtools\gcc-4.6.3\bin;

答案 8 :(得分:1)

我在使用RMySQL包安装R的最后2天工作,最后得到了解决方案,以下是安装RMySQL包的步骤: -

  1. 从以下链接下载软件:      *一个。 R2.13.2:从http://cran.stat.sfu.ca/index.html

    下载R.
      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*
    
  2. 设定以下环境变量

     * a. MYSQL_HOME : <drive>/path to MySQL installation folder
          e.g. MYSQL_HOME= C:\Program Files\MySQL\MySQL Server 5.5\ 
    
      b. R_HOME: <drive>/path to R installation
         e.g. R_HOME=C:\Program Files\R\R-2.13.2\
    
      c. PATH: Modify path to accommodate the above variables. *
    

    确保Windows PATH变量中包含以下路径:          \ Rtools \ 2.14 \仓         \ Rtools \ 2.14 \ MinGW的\ BIN         \ Rtools \ 2.14 \ MinGW64 \ BIN

  3. 创建文件夹和复制文件

    一个。 OPT:在C:\ Program Files \ MySQL \ MySQL Server 5.5 \ lib下创建一个文件夹OPT并复制
    MYSQLLIB.LIB上面的路径。同时将libmysql.dll复制到\​​\ R \ R-2.14.0 \ bin \(64位)或\\ R \ R-2.14.0 \ bin \ i386 \(32位)和C:\ Windows \ System32。

  4. 湾Renviron.site:创建或编辑文件\\ R \ R-2.14.0 \ etc \ Renviron.site并添加一个 line:MYSQL_HOME =“C:/ Program Files / MySQL / MySQL Server 5.5 /” 注意:在这里使用前进的SLASH和双重语录

    ℃。 libMySQL.dll:将此文件复制到C:\ Program Files \ R \ R-2.13.2 \ bin \ i386以及C:\ Program 文件\ r \ R-2.13.2 \ bin中

    1. RUN COMMANDS

      一个。 Install.Packages:通过单击桌面上的R图标或从“开始”菜单运行R GUI。类型 INSTALL.PACKAGES(“RMySQL”,类型=”源”)。这将从存储库下载所需的软件。

    2. 湾命令提示符:复制下载的zip文件(在步骤4.a.中)并将其粘贴到R下 安装文件夹。转到“开始”菜单并打开“命令提示符”。转到R安装文件夹,然后键入R CMD INSTALL RMySQL_0.8-0.tar.gz

        *COMMANDS:
        >library(RMySQL)
         >drv = dbDriver("MySQL")
         >con = dbConnect(drv,host="localhost",dbname="test",user="root",pass="root")
         >album = dbGetQuery(con,statement="select * from t_master")
         >album*
      

答案 9 :(得分:1)

18个月后,新的笔记本电脑,同样的问题。回到犯罪现场 - 对不起2011年1月的自我;我们将来,这个装置仍然没有任何乐趣。

经验教训:

- 更新的RTools 必需。获取them

- 您是否看到了.onLoad failed in loadNamespace() for 'RMySQL', details的错误?这似乎意味着您的系统环境变量存在问题。

在R中,运行

Sys.getenv('MYSQL_HOME')

如果它吐回像

这样的路径
 [1] "C:\\Program Files\\MySQL\\MySQL Server 5.6"
你很好。但如果它给你空字符串,你需要设置它。

这些都是Windows 7的说明,但如果内存服务,这个过程在XP中非常相似。

1)提出系统属性&gt;高级&gt;环境变量。

2)在较低的“系统变量”窗格中,单击“新建”。

3)变量名是MYSQL_HOME,值是MySQL安装的路径 - 我的C:\Program Files\MySQL\MySQL Server 5.6

较新版本的MySQL似乎没有在安装时创建环境变量 - 而且RMySQL缺少二进制文件解释了为什么这个问题已经获得了8,000次点击。

- 仍然卡住?以下是另外两篇深入的文章:12

答案 10 :(得分:1)

以下为我在red hat linux工作

wget http://cran.r-project.org/src/contrib/RMySQL_0.9-3.tar.gz
sudo R CMD INSTALL  --configure-args='--with-mysql-inc=/usr/include/mysql' --configure-args='--with-mysql-lib=/usr/lib64/mysql' RMySQL_0.9-3.tar.gz