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