2

WampServer安装在我的计算机上。

我希望安装RMySQL包。

后者的在线文档提到:

  1. 从http://www.mysql.comhttp://dev.mysql.com安装 MySQL 客户端库。如果您已经安装了 MySQL 服务器,您可能需要重新运行安装以确保您还安装了客户端头文件和库文件。请注意,Xampp 不包括这些。

我很困惑,我不知道这些必需的“标题”和“库”文件是什么。而且,我怎么知道它们是否由 WampServer 提供?如果不是这种情况,我可以简单地将它们添加到 WampServer 文件夹的某个位置(而不是卸载 WampServer 并分别安装 Apache 及其朋友)吗?

谢谢,爱德华

4

2 回答 2

4

好的,所以我刚刚经历了在 Windows 上安装 RMySQL 的生活地狱。但最后成功了。

不支持 Windows 上的二进制文件,所以说这是“简单”的其他答案是错误的。还有很多指南等已经过时,或者链接断开。

MYSQL 的最佳整体答案通常是看: Using MySQL in R for Windows 基本上你必须安装 RTools 才能从源代码编译包。

但是,特别是对于 WAMPServer,它不会安装 .lib 和客户端文件。所以我所做的是去 MYSQL 找到与 Wampserver 安装的完全相同的 MYSQL 版本。我下载了 zip 文件版本。我将 lib 目录与视觉差异工具(Beyond Compare)进行了比较,并将丢失的文件复制到我的 WAMPServer MYSQL 安装中。根据上面的指南,然后我将 libmysql.lib 从 mysql/lib 复制到 mysql/lib/opt 以满足依赖关系。libmysql.dll 到 C:\Program Files\R\R-2.12.1\bin

最后 install.packages('RMySQL',type='source') 工作

于 2013-03-03T23:16:08.790 回答
2

对于在 Windows 中使用 WampServer 并想要安装 RMySQL 的人,我已经调整了此处列出的说明。我假设您已经安装了 WampServer。我还将使用我在计算机上使用的文件路径,但请记住,您的文件路径可能会略有不同(由于版本、安装等不同)

  1. 从这里安装最新的 RTools 。
  2. C:\Program Files\R\R-2.15.1\etc\中创建一个名为Renviron.site的新文件,在文本编辑器中打开该文件,然后添加一行MYSQL_HOME="C:/wamp/bin/mysql /mysql5.6.12"(你的 mysql 文件的路径)。确保使用正斜杠并且不要忘记引号。
  3. 单击您的 WampServer 图标并转到 MySQL,然后转到版本。这将告诉您 WampServer 发行版中包含的 MySQL 版本。
  4. 转到http://dev.mysql.com/downloads/mysql并下载并安装 WampServer 发行版中包含的相同版本的 MySQL。
  5. 完成完整安装后,转到安装 MySQL 的文件夹并复制名为libmysql.lib的文件,该文件可以在lib\文件夹中找到。
  6. 现在转到WampServer 目录中的lib\文件夹(我的是C:\wamp\bin\mysql\mysql5.6.12\lib)并创建一个名为opt\的新文件夹。
  7. 将刚刚复制的libmysql.lib文件粘贴到这个新的opt文件夹中。
  8. 您现在可以卸载刚刚下载的 MySQL 服务器,因为我们只需要其中的一个文件(显然不包含在 WampServer 发行版中)。
  9. C:\wamp\bin\mysql\mysql5.6.12\lib\下,您还会找到libmysql.dll。将其复制到C:\Program Files\R\R-2.15.1\bin\i386\(如果你像我一样有 36 位 Windows,这可以工作。我想如果你有 64 位,你可以把它放在bin\子目录而不是bin\i386\下,但请不要让我这样做。)我还将相同的文件(libmysql.dll)复制到C:\windows\system32\目录,但我不确定这是否是必要的。
  10. 在 R 中,运行install.packages('RMySQL',type='source')并希望安装完成没有任何问题。然后,您可以像往常一样使用library(RMySQL)加载包。

注意:我正在运行 32 位 Windows、R-2.15.1 和包含 MySQL 5.6.12 的 WampServer 发行版。

于 2013-07-11T02:47:04.730 回答