我有一个连接在同一设备上正常工作的项目。我突然得到了下面的错误。我可以通过MySQL工作台从同一设备进行连接。
可能的原因是什么?
library(RMySQL)
con <- dbConnect(RMySQL::MySQL(),
host = "xxx",
dbname="yyy",
user = "zzz",
password = "############")
Error in .local(drv, ...) :
Failed to connect to database: Error: Lost connection to MySQL server at 'reading authorization packet', system error: 10060这是会话信息
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RMySQL_0.10.10 DBI_0.4-1
loaded via a namespace (and not attached):
[1] tools_3.3.1发布于 2017-03-31 05:36:47
我的代码在2017年3月29日进行了系统范围的包更新后,自2017年2月1日以来第一次出现了这个确切的问题。
查看RMySQL的版本控制,RMySQL_0.10.9.tar.gz published 2016-05-08 15:39 RMySQL_0.10.10.tar.gz published 2017-03-21 07:50
我将我的版本恢复到0.10.9,问题就消失了:
require(devtools)
install_version("RMySQL", version = "0.10.9", repos = "http://cran.us.r-project.org")我已将您的问题发布到RMySQL错误页面,因此我们将查看他们是否解决了该问题
发布于 2017-04-20 23:30:42
我最近检查了另一个最新版本的RMySQL包,RMySQL_0.10.11.zip问题也存在于其中。很抱歉,不能评论,因为目前不允许,因此想要更新关于问题仍然被看到的版本。
与我的系统上的MySQL的其他信息连接是从
1) Cmdline
2) MySQL工作台
3)表格
4) Excel
它在R上不起作用。我检查了以下内容
SHOW GLOBAL STATUS like 'Aborted%clients%';
每次从R中删除连接时,上述变量的值都会变为+1。
SET GLOBAL connect_timeout = 10;
也没帮上忙。
更新
使用RMySQL需要依赖/要求安装PERL吗?到目前为止,我的系统还没有PERL。如果这个要求确实是真的,那么这可能是一个原因,并且可能是最新版本已经解决了这个问题。请让我了解一下PERL依赖项?
发布于 2017-06-16 05:30:59
我能够在我的PC上使用R3.4修复这个问题,遵循@Page的建议来查看包的版本控制。但是,我不仅需要安装RMySQL的早期版本(从0.10.11恢复到0.10.9),还需要使用以下命令更改其依赖包DBI的版本(从0.6-1恢复到0.5):
require(devtools)
install_version("DBI", version = "0.5", repos = "http://cran.us.r-project.org")
install_version("RMySQL", version = "0.10.9", repos = "http://cran.us.r-project.org")https://stackoverflow.com/questions/43073782
复制相似问题