ubuntu升級R+RMySQL+manpage
試了好些方法,以下成功了,記下備用
sudo apt-add-repository -y "deb http://cran.rstudio.com/bin/linux/ubuntu `lsb_release -cs`/"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo apt-get update
sudo apt-get install r-base-dev
在R中加載DBI,RMySQL兩個包,並使用dbConnect函數設置好用戶名和密碼
library(RMySQL)
con <- dbConnect(MySQL(),
user='abc', # 用戶名
password='abc', # 密碼
dbname='abc', # 要使用的數據庫名稱
host="localhost") # 主機地址
dbListTables(con) # 列出所有數據庫中的表
# 運行sql語句並返回數據到R
data <- dbGetQuery(con, "select * from abc")
SQL查詢可以通過dbSendQuery或dbGetQuery傳給數據庫管理系統。dbGetQuery傳送查詢語句,把結果以數據框形式返回。dbSendQuery傳送查詢,返回的結果是繼承"DBIResult"的一個子類的對象。"DBIResult"類可用於取得結果,而且還可以通過調用dbClearResult清除結果。函數fetch用於獲得查詢結果的部分或全部行,並以列表返回。函數dbHasCompleted確定是否所有行已經獲得了,而dbGetRowCount返回結果中行的數目。如果只是簡單的讀整個表,也可以用dbReadTable函數。
在設置連接時會在R語言環境中明文標示了數據庫用戶和密碼,為了安全起見,可以作如下設置:
在本機目錄中定義一個配置文檔( ~/.my/cnf),例如定義兩個使用MySQL的用戶組:
[local]
user = root
password = ultra_secret
host = localhost
[toto]
user = capitaine_flam
password = galaxy
host = milky.way.net
然後在R中使用用戶組:
library(RMySQL)
con <- dbConnect(MySQL(), group='toto', dbname="user_profile")
m <- dbGetQuery(con, "SELECT DISTINCT user_id FROM demographics WHERE gender='0'")
dbDisconnect(con)
另外R連接mysql會出現中文亂碼變問號情況,查到COS上一個貼子,解決方案如下:
在MySQL的配置文件/etc/mysql/my.cnf中[client]標簽下加default-character-set=utf8
MySQL:
一旦安裝完成,MySQL 服務器應該自動啟動。您可以在終端提示符後運行以下命令來檢查 MySQL 服務器是否正在運行:
1 sudo netstat -tap | grep mysql
講數據文件權限更改位所有用戶可讀寫
chmod ugo+wrx **.csv
csv導入mysql
load data infile "/tmp/**.csv" into table 表名 fields terminated by "," lines terminated by '\n';
mysql導出到csv
select * from 表名 into outfile "/tmp/**.csv" fields terminated by "," lines terminated by '\n';
內連接:
select zgc_user_age.product_no,zgc_user_age.age from zgc_user_age inner join zgc_user_day on zgc_user_age.product_no=zgc_user_day.product_no into outfile "/tmp/zgc_age_day.txt" fields terminated by "," lines terminated by '\n';
ubuntu的函數手冊頁不全,自己安裝:
sudo apt-get install glibc-doc
man -k pthread或apropos pthread可以查找到當前manpages中關於pthread的手冊
sudo apt-get install manpages-posix manpages-posix-dev