我最近在我的电脑上安装了mysql,并试图将rstudio连接到mysql。我遵循一本书中的说明以及这里的说明。但是,每当我使用 dbConnect()
或者 src_mysql
在 RStudio
,我收到以下错误消息:
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)
2条答案
按热度按时间h7appiyu1#
第一步:打开mysql 8.0命令客户端
第2步:要列出数据库中的所有用户,请键入命令,
select host,user from mysql.user;
步骤3:现在将当前用户密码重置为,set password for 'root'@'localhost'='yourpassword';
第三步:最后一步ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
查询正常,0行受影响(0.12秒)uwopmtnx2#
r mysql库依赖于libmysqlclient/libmariadbclient。丢失的caching\u sha2\u密码似乎表明没有安装旧的mysqlclient版本或libmariadbclient。直到最近,mariadb(3.0.8)才添加了缓存sha2\u密码
另一种方法,如下面的答案,是将mysql中的用户更改为使用不同的身份验证机制:
将用户设置回mysql\u native\u密码:
要将此设置为所有新创建用户的默认设置,请更改my.cnf/my.ini设置
default_authentication_plugin=mysql_native_password