How to connect R to MySQL? Failed to connect to database: Error: Plugin caching_sha2_password could not be loaded
How to connect R to MySQL? Failed to connect to database: Error: Plugin caching_sha2_password could not be loaded
我最近在我的计算机上安装了 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)
R mysql 库依赖于 libmysqlclient/libmariadbclient。缺少的 caching_sha2_password 似乎表明未安装旧的 mysql 客户端版本或 libmariadbclient。直到最近 caching_sha2_password get added to mariadb (3.0.8)
另一种方法,如 ,是将 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
第 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 秒)
我最近在我的计算机上安装了 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
中的命令提示符登录 MySQLmysql -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)
R mysql 库依赖于 libmysqlclient/libmariadbclient。缺少的 caching_sha2_password 似乎表明未安装旧的 mysql 客户端版本或 libmariadbclient。直到最近 caching_sha2_password get added to mariadb (3.0.8)
另一种方法,如
您将用户设置回 mysql_native_password:
ALTER USER 'username'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'password'
要使其成为所有新创建用户的默认设置,请更改 my.cnf/my.ini 设置 default_authentication_plugin=mysql_native_password
第 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 秒)