r语言 - 在"读取授权数据包"时失去与 MySQL 服务器的连接,系统错误:0,Amazon RDS



我正在尝试使用 RMySQL 软件包连接到在 Amazon RDS 平台上运行的 MariaDB 服务器。直到几天前它运行良好,直到我将我的软件包更新到最新版本。现在尝试连接到数据库会引发此错误:

Error: Lost connection to MySQL server at 'reading authorization packet', system error: 0

我尝试过的事情: 恢复到以前版本的R,RMySQL和DBI;将主机名替换为 IP 地址,connect_timeout = 10 秒。

>sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.2 LTS
Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
locale:
[1] LC_CTYPE=en_IN.UTF-8       LC_NUMERIC=C               
LC_TIME=en_IN.UTF-8        LC_COLLATE=en_IN.UTF-8    
[5] LC_MONETARY=en_IN.UTF-8    LC_MESSAGES=en_IN.UTF-8    
LC_PAPER=en_IN.UTF-8       LC_NAME=C                 
[9] LC_ADDRESS=C               LC_TELEPHONE=C             
LC_MEASUREMENT=en_IN.UTF-8 LC_IDENTIFICATION=C       
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
other attached packages:
[1] arules_1.5-2      data.table_1.10.4 bit64_0.9-7       bit_1.1-12        
magrittr_1.5      NbClust_3.0      
[7] stringr_1.2.0     RMySQL_0.10.11    DBI_0.6-1         rjson_0.2.15      
dplyr_0.5.0       Matrix_1.2-10    
loaded via a namespace (and not attached):
[1] Rcpp_0.12.11     lattice_0.20-35  assertthat_0.2.0 grid_3.4.0       
R6_2.2.1         rlang_0.1.1     
[7] stringi_1.1.5    lazyeval_0.2.0   tools_3.4.0      compiler_3.4.0   
tibble_1.3.3

但是,我能够在本地MySQL设置上使用相同的设置运行查询。

我能够按照 @Page 的建议查看软件包版本控制,使用 R 3.4 在我的 PC 上解决此问题。但是,我不仅需要安装早期版本的 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")

相关内容

  • 没有找到相关文章

最新更新