r链接mysql出错,如何将R连接到MySQL?无法连接到数据库:错误:无法加载插件caching_sha2_password...

I recently installed MySQL on my computer and am trying to connect RStudio to MySQL. I followed instructions in a book as well as instructions here. However, whenever I use dbConnect() or src_mysql in RStudio, I get this error message:

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

For example, I might login to MySQL using the command prompt in Windows

mysql -u username -p

and create a database as follows

CREATE DATABASE myDatabase;

and then in RStudio:

library(RMySQL)

db

password = "password", host = "localhost")

and my response is always that error message listed above.

And if you need it:

sessionInfo()

R version 3.5.2 (2018-12-20)

Platform: x86_64-w64-mingw32/x64 (64-bit)

Running under: Windows >= 8 x64 (build 9200)

解决方案

The R mysql library depends on libmysqlclient/libmariadbclient. The missing caching_sha2_password seems to be an indicator that an old mysqlclient version or a libmariadbclient isn't installed. Only very recently did caching_sha2_password get added to mariadb (3.0.8)

An alternative, like this answer, is to change the user in mysql to use a different authentication mechanism:

You set the user back to mysql_native_password:

ALTER USER 'username'@'localhost'

IDENTIFIED WITH mysql_native_password BY 'password'

To make this the default for all newly created users change the my.cnf/my.ini setting default_authentication_plugin=mysql_native_password

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值