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

在终端运行下面几条命令安装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)。

mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。

示例:

mysqldump -uroot -p database table > /home/jobs/back.sql 

相关资料:

参考:

    原文作者:王诗翔
    原文地址: https://www.jianshu.com/p/19a093c929c9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞