系统配置:

Windows XP 32位

R 3.1.1

一、安装RMySQL:

1,安装RTools并配置环境变量:

我的电脑——属性——高级——环境变量,在系统变量一栏中选择PATH,点击编辑,在后面添加RTools的路径

(如:D:\Rtools\bin;D:\Rtools\gcc-4.6.3\bin;D:\Rtools\gcc-4.6.3\bin32;D:\Rtools\gcc-4.6.3\i686-w64-mingw32\bin)

2,安装MySQL并配置环境变量:

MySQL Community Server 5.6.20  (选择msi格式 默认安装路径)

MySQL Connectors 选择Connector/ODBC 5.3.4  (选择msi格式 默认安装路径)

或者安装MySQL on Windows下的MySQL Installer

(后者参考:http://www.jb51.net/article/39188.htm)

配置MySQL的环境变量(同上):...在PATH路径后添加MySQL的路径

(如:C:\Program Files\MySQL\MySQL Server 5.6\bin),

3,关联MySQL和R软件:

在C:\Program Files\MySQL\MySQL Server 5.6\lib下,新建opt文件夹,并复制该目录下的libmysql.lib文件到opt文件夹内;

复制libmysql.dll到D:\R\bin、D:\R\bin\i386和C:\Windows\System32中;

在D:\R\etc下,新建Renviron.site文件,用记事本打开,向其中添加一行:MYSQL_HOME =C:/Program Files/MySQL/MySQL Server 5.5/ .

4,安装RMySQL:

install.packages('RMySQL',type='source')

5,验证RMySQL安装是否成功:

Sys.getenv("MYSQL_HOME")

如果成功,则显示:

[1] "C:/Program Files/MySQL/MySQL Server 5.6"

library("RMySQL")

如果成功,则显示:

载入需要的程辑包:DBI

MYSQL_HOME defined asC:/Program Files/MySQL/MySQL Server 5.6

... ...

二、RMySQL操作

在操作之前,首先需要登录MySQL并创建数据库。

1,修改配置文件:

配置文件为C:\Program Files\MySQL\MySQL Server 5.6下的my-default.ini

在[mysqld]下面的"basedir=..."及"datadir=..."添加MySQL目录及MySQL的data目录:

basedir=C:\Program Files\MySQL\MySQL Server 5.6

datadir=C:\Program Files\MySQL\MySQL Server 5.6\data

2,启动MySQL服务:

开始——运行 cmd

输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin  #(进入mysql的bin文件夹)

输入:mysqld -install  #(显示安装成功)

输入:net start mysql  #(服务启动成功)

或者

开始——运行 net start mysql

或者

右键 我的电脑——管理——服务和应用程序——服务下找MySQL服务,选启动就行了

(关闭MySQL服务:net stop mysql)(查看MySQL服务名:net start)

3,登录MySQL:

开始——运行 cmd

输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin

登录:mysql -u root -p (首次登录没有密码,直接回车就可以了,登录成功!)

(说明: mysql [-h hostName ] [-u userName ] [-puserPassword] [databaseName]

-h 服务器名,可不加此项,默认为本机localhost;

-u 登录用户名,如有密码,后面必须跟[-p密码];

-p 登录密码,后面可直接加密码(不需要空格,其他均需要空格),也可以不跟密码。如果不跟密码,则在执行改名时下一行要求输入密码(用*表示位数);建议此项不直接跟密码,即到下一行输入密码。(有些服务器上可以不用-u和-p也可以匿名登录,有权限区别,但需要服务器支持,个人的可以在安装的时候设置;如果密码为空,只需-u不需要-p)

[databaseName]此命令最后还可以加上数据库名,登录后直接进入指定的数据库,当然也可以不加此项.)

4,创建数据库

登录成功后,就可以用SQL语句创建数据库啦!

create database contacts; #create a new database

use contacts; #use this newly created database

create table people (id INT primary key,name CHAR(30),address CHAR(60)); #create a table

#A record can be inserted in a table

insert into people values(1,'John Smith','Strange Street, 34, Unknown City');

select * from people;

select name, address from people;

select name from people where id >= 1 and id 

quit

5,R与MySQL的contacts数据库关联

首先找到数据源(ODBC)

开始>运行>“odbcad32.exe”>确定

或者

在 Windows XP Professional中打开ODBC数据源管理器

(开始——控制面板(分面视图)——性能和维护——管理工具——数据源(ODBC),或者开始——控制面板(经典视图)——管理工具——数据源(ODBC))

其次添加数据库

数据源(ODBC)---用户DSN(系统DSN)---添加—MySQL ODBC 5.3 ANSI Driver(MySQL ODBC Unicode Driver)---完成

依次填写以下内容:

Data Source Name:contacts

Description:

TCP/IP Server:127.0.0.1  #(localhost)

User:root

Password:

Database:contacts   #下拉菜单选择数据库,关键!

点击“Test”,出现“Connection Successful!”OK!

6,在R中调用该数据库

library(RMySQL)

drv = dbDriver("MySQL")

con = dbConnect(drv,host="localhost",dbname="contacts",user="root",pass="")

album = dbGetQuery(con,statement="select * from people")

album

注:

如果MySQL没有启动,有可能是重装时残留的文件还没有清除掉,所以先清理掉旧的MySQL文件,再重启试试。

[完全清除MySQL文件的方法:在C:\Documents and Settings\All Users\Application Data下删除MySQL文件夹(Application Data文件夹是隐藏文件夹),再删除注册表中ControlSet00\ControlSet003\CurrentControlSet三个项目里的Services下找到MySQL删除(开始—运行regedit),

(例:HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL)]