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

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表中所有數據
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容