1. 程式人生 > >R學習筆記——RMySQL使用

R學習筆記——RMySQL使用

1、初次使用

con <- dbConnect(MySQL(), user = 'root', password = '144230', dbname = 'test', host='localhost')
錯誤於mysqlNewConnection(drv, ...) :
  RS-DBI driver: (Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
)
無語:又報錯

2、網上說需要先安裝 mysql-workbench 試試能否正常連線

當然先安裝 MySQL,這個我以前寫過,接下來安裝 mysql-workbench,mysql-workbench 需要先安裝 mysql-share,下載的檔案如下

[[email protected] mysql]# ls
MySQL-shared-compat-5.6.16-1.linux_glibc2.5.i386.rpm
mysql-workbench-community-6.0.9-1.el6.i686.rpm

//然後安裝: 
[[email protected] mysql]# rmp -ivh MySQL-shared-compat-5.6.16-1.linux_glibc2.5.i386.rpm
[
[email protected]
mysql]# rmp -ivh mysql-workbench-community-6.0.9-1.el6.i686.rpm
搞定,可以正常連線:

6、可是我的 RMySQL 還是連不上。怎麼辦? 檢視基本資訊

> dbConnect(m, user = "root", password = "144230", dbname = "test", host="localhost.localdomain")
<MySQLConnection:(9246,0)> 
> m <- MySQL()
> m
<MySQLDriver:(9246)> 
> dbConnect(m, user = "root", password = "144230", dbname = "test")
錯誤於mysqlNewConnection(drv, ...) : 
  RS-DBI driver: (Failed to connect to database: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
)
> Sys.info()
                              sysname                               release 
                              "Linux"                 "2.6.32-358.el6.i686" 
                              version                              nodename 
"#1 SMP Thu Feb 21 21:50:49 UTC 2013"               "localhost.localdomain" 
                              machine                                 login 
                               "i686"                              "clebeg" 
                                 user                        effective_user 
                             "clebeg"                              "clebeg" 
哦,原來它識別不了預設的 host

接下來用下面語句連結:

> dbConnect(m, user = "root", password = "144230", dbname = "test", host="localhost.localdomain")
<MySQLConnection:(9246,1)> 

> conn <- dbConnect(m, user = "root", password = "144230", dbname = "test", host="localhost.localdomain")
> table.names = dbListTables(con) 
> table.names
[1] "t_user"