数据-R语言-图表-决策-Linux-Python生物信息学与算法Cook R

【r<-方案】Ubuntu安装MySQL并与R连接

2019-02-20  本文已影响22人  王诗翔

在终端运行下面几条命令安装MySQL:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

检查mysql是否已经安装好:

sudo netstat -tap | grep mysql

如果看到有mysql 的socket处于 listen 状态则表示安装成功。

安装【方案】Python的mysql驱动连不上数据库修改root验证方式和密码。

在R中安装RMySQL包:

>install.packages("RMySQL")

下面进行测试:

> library(RMySQL)
Loading required package: DBI
> con <- dbConnect(MySQL(),username='root',password='***')
> DBI::dbGetInfo(con)
$host
[1] "localhost"

$user
[1] "root"

$dbname
[1] ""

$conType
[1] "Localhost via UNIX socket"

$serverVersion
[1] "5.7.25-0ubuntu0.18.04.2"

$protocolVersion
[1] 10

$threadId
[1] 4

$rsId
list()

几个操作都没有报错,没有问题。只要稍微改动下密码,就会抛出错误:

> con <- dbConnect(MySQL(),username='root',password='**')
Error in .local(drv, ...) : 
  Failed to connect to database: Error: Access denied for user 'root'@'localhost' (using password: YES)

在使用ip进行连接时发现一直报错:

Error in .local(drv, ...) : 
  Failed to connect to database: Error: Can't connect to MySQL server on '10.19.26.41' (36)

百度谷歌了一堆,大都不相干。最后发现是因为mysql为了安全起见,默认使用127.0.0.1,我们将/etc/mysql/mysql.conf.d/mysqld.cnf中的bind_address=127.0.0.1注释掉即可。注意,要重启mysql(service mysql restart)。


相关资料:


参考:

上一篇 下一篇

猜你喜欢

热点阅读