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

作者: 王诗翔 | 来源:发表于2019-02-20 18:24 被阅读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)。


    相关资料:


    参考:

    相关文章

      网友评论

        本文标题:【r<-方案】Ubuntu安装MySQL并与R连接

        本文链接:https://www.haomeiwen.com/subject/efihyqtx.html