R语言与RMYSQL Plugin caching_sha2_password could not be loaded 问题解决


install.packages("RMySQL")
library(RMySQL)
  载入需要的程辑包:DBI
library(DBI)
con <- dbConnect(MySQL(),
host='localhost',
dbname = '****',
user = '****',
password='****')
dbGetQuery(con,"SELECT * FROM your_db limit 3")

con <- dbConnect(MySQL(),host=…)

Error in .local(drv, …) :
Failed to connect to database: Error: Plugin caching_sha2_password could not be loaded: 找不到指定的模块。
报错如上。

解决方案如下:

#修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 
#更新用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 
#刷新权限
FLUSH PRIVILEGES;
#重置密码
#ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';

问题分析:
RMySQL用的密码认证方式落后了,现在8.0的mysql采用的sha2加密方式并没有更新到R包中,因此需要更改mysql的指定用户的加密方式,拿wifi举例,等于现在用户设备不支持wap2加密,只能用上一代的wap加密方式。

提高:
R语言的操作方式和其他的sql工具使用思路并无过大差别,基本可以举一反三,举例一二

#数据库操作
library(RMySQL)
#查询航班数据
findFlights <- function(){
#连接数据库
con <- dbConnect(MySQL(), 
user='root',
password=123456,
host='127.0.0.1',
dbname='flightsinfo')

flightsdata <- dbGetQuery(con,
"select year,month,day,
dep_delay,arr_delay,
distance,dest
from flights")

#关闭数据库连接
dbDisconnect(con) 
return (flightsdata)
}

参考文献1
参考文献2
参考文献3
参考文献4

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值