【问题标题】:How to connect R to MySQL? Failed to connect to database: Error: Plugin caching_sha2_password could not be loaded如何将 R 连接到 MySQL?无法连接到数据库:错误:无法加载插件缓存_sha2_password
【发布时间】:2019-06-03 14:43:10
【问题描述】:

我最近在我的计算机上安装了 MySQL,并试图将 RStudio 连接到 MySQL。我按照书中的说明以及here 的说明进行操作。但是,每当我在 RStudio 中使用 dbConnect()src_mysql 时,都会收到以下错误消息:

Error in .local(drv, ...) : 
  Failed to connect to database: Error: Plugin caching_sha2_password could not be loaded: The specified module could not be found

例如,我可能会在 Windows 中使用命令提示符登录 MySQL

mysql -u username -p

并按如下方式创建数据库

CREATE DATABASE myDatabase;

然后在 RStudio 中:

library(RMySQL)
db <- dbConnect(MySQL(), dbname = "myDatabase", user = "username", 
           password = "password", host = "localhost")

我的回答总是上面列出的错误消息。

如果你需要它: sessionInfo()

R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

【问题讨论】:

    标签: mysql r rmysql r-dbi


    【解决方案1】:

    R mysql 库依赖于 libmysqlclient/libmariadbclient。丢失的 caching_sha2_password 似乎表明未安装旧的 mysqlclient 版本或 libmariadbclient。直到最近caching_sha2_password get added to mariadb (3.0.8)

    另一种选择,如this answer,是在mysql中更改用户以使用不同的身份验证机制:

    您将用户设置回 mysql_native_password:

    ALTER USER 'username'@'localhost'
    IDENTIFIED WITH mysql_native_password BY 'password'
    

    要将此设置为所有新创建用户的默认设置,请更改 my.cnf/my.ini 设置 default_authentication_plugin=mysql_native_password

    【讨论】:

    • 现在修复了Ubuntu Bug 1913676,Linux 端应该可以解决所有问题(Ubuntu-18.04 除外,它太旧了)。连接到 MySQL-8.0 的 Windows R 是still a problem
    • 真的,这个连接到 MySQL-8.0 的 Windows R 不只是一个问题,而是一个真正的问题。感谢您引用那些 cmets danblack。
    【解决方案2】:

    第 1 步:打开 mySql 8.0 命令客户端

    第 2 步:要列出数据库中的所有用户,请键入命令, select host,user from mysql.user;

    第 3 步:现在将当前用户密码重置为,
    set password for 'root'@'localhost'='yourpassword';

    第 3 步:最后一步

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword'; 查询正常,0 行受影响(0.12 秒)

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2020-07-21
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多