Ubuntu环境下 R RODBC MySQL配置全流程

Ubuntu环境下 R RODBC MySQL配置全流程_第1张图片
71590.jpg

当我们用R语言,经常需要与数据库相关联,将数据库中的数据导入R的table中,MySql是免费的开源数据库,下面的内容是如何在Ubuntu 中搭建R RODBC MySQL环境。

Note:下面所有操作都是基于ubuntu gnome 16.04版本

安装R环境

在sourcelist添加CRAN 镜像
CRAN源
R安装详细参考文档

sudo vim /etc/apt/sources.list
#添加以下源(其中favorite.cran.mirror应该被真实CRAN源替换)
deb https://favorite.cran.mirror/bin/linux/ubuntu xenial/
or
deb https://favortie.cran.mirror/bin/linux/ubuntu wily/
or 
deb https://favorite.cran.mirror/bin/linux/ubuntu trusty/
or
deb https://favorite.cran.mirror/bin/linux/ubuntu precise/

sudo apt-get update
#当出现 no public key 时 通过以下命令 添加key,将后部分的key 替换为你需要添加的key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
#安装R 解释器
sudo apt-get install r-base

R环境安装好以后,在终端输入R 就可以打开R 解释器

MySQL 安装流程

sudo apt-get install mysql-server mysql-client
#在安装过程中会出现提示输入root用户密码
#使用如下命令登陆mysql
mysql -u root -p
#输入开始设置的root密码就会进入mysql

#下面是一些mysql的常用命令
#显示mysql设置参数
show variables;
#显示mysql设置参数中的端口号
show variables like 'port';
#重启mysql 服务
/ect/init.d/./mysql restart
#开启mysql 服务
/etc/init.d/./mysql start
#关闭mysql 服务
/etc/init.d/./mysql stop

ODBC 安装流程

首先在mysql的下载站下载ODBC包
ODBC下载链接
根据你的系统选择 32 或者64 版本 的 Tarball包下载
安装ODBC驱动

#切换到 tarball的下载位置
cd Tarball_path
#解压tar.gz包
gunzip mysql-connector-odbc-5.2.2-i686-pc-linux.tar.gz
cd unpackage_path
sudo cp /bin/* /usr/local/bin
sudo cp /lib/* /usr/local/lib

#下面是driver安装命令,直接输入myodbc-installer可以查看命令参数
#NOTE:在使用该命令安装驱动时,一定使用管理员权限
#Dirver=Path部分,Path是你刚才cp 到的位置

#安装ANSI driver
sudo myodbc-installer -a -d -n "MySQL ODBC 5.3 Driver" -t "Driver=/usr/local/lib/libmyodbc5a.so"
#安装 Unicode driver
sudo myodbc-installer -a -d -n "MySQL ODBC 5.3 Driver" -t "Driver=/usr/local/lib/libmyodbc5w.so"
#列出所有以安装 driver
sudo myodbc-installer -d -l

配置ODBC DSN
ODBC DSN参数列表
在/usr/local/etc中建立以下配置文件
odbc.ini

;
;  odbc.ini configuration for Connector/ODBC and Connector/ODBC 5.3 drivers
;

[ODBC Data Sources]
myodbc5     = MyODBC 5.3 Driver DSN

[myodbc5]
Driver       = /usr/local/lib/libmyodbc5a.so
Description  = Connector/ODBC 5.3 Driver DSN
SERVER       = localhost
PORT         = 3306
USER         = root
Password     = *******
Database     = test
OPTION       = 3
SOCKET       =

[Default]
Driver       = /usr/local/lib/libmyodbc5a.so
Description  = Connector/ODBC 5.3 Driver DSN
SERVER       = localhost
PORT         = 3306
USER         = root
Password     = ********
Database     = test
OPTION       = 3
SOCKET       =

配置ODBC环境变量

#在.bashrc中添加以下代码
export ODBCINI=/usr/local/etc/odbc.ini
export ODBCSYSINI=/usr/local/etc

在R中安装RODBC包,并通过RODBC连接MySQL

#首先使用以下命令,安装unixodbc-dev
#否则在R中安装RODBC 会出现无法满足依赖的问题
sudo apt-get install unixodbc-dev
#进入R解释器环境
install.packages("RODBC")

测试ODBC是否正确安装
在测试前,重启mysql server

library(RODBC)
myconn = odbcConnect("myodbc5",uid="root",pwd="******")
data = sqlQuery(myconn,"select * from test")
#所有环境正确配置后,table中会包括sql test表中所有数据

你可能感兴趣的:(Ubuntu环境下 R RODBC MySQL配置全流程)