RMySQL系统错误:10060

时间:2017-03-28 15:31:34

标签: mysql r rmysql r-dbi

我有一个项目,其连接在同一台设备上正常运行。我突然得到了下面的错误。我可以通过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

3 个答案:

答案 0 :(得分:6)

我的代码在2017年3月29日完成系统范围的软件包更新后开始出现这个问题,这是自2017年2月1日以来的第一次。

查看RMySQL的版本控制, RMySQL_0.10.9.tar.gz发表于2016-05-08 15:39 RMySQL_0.10.10.tar.gz发布 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错误页面,因此我们会看看他们是否解决了这个问题

答案 1 :(得分:0)

我最近检查了另一个最新版本的RMySQL包,RMySQL_0.10.11.zip 问题也存在于此。 道歉,目前不允许评论,因此想要更新有关问题仍然存在的版本。

其他信息 在我的系统上连接到MySQL正在使用

1)Cmdline

2)MySQL Workbench

3)Tableau

4)Excel

它只是没有在R. 我检查了以下

link1

link2

link3

SHOW GLOBAL STATUS like 'Aborted%clients%';

每次从R中删除连接时,上面变量的值变为+1。 甚至做

SET GLOBAL connect_timeout = 10;

没有帮助。

<强>更新

是否存在使用RMySQL安装PERL的依赖/要求? 截至目前,我的系统没有PERL。如果这个要求确实是真的,那么这可能是原因之一,可能是最新版本修复了问题。请告诉我有关PERL的依赖性?

答案 2 :(得分:0)

我可以使用R 3.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")