系统配置:
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)]