I need to get data from an old MySQL server and I'm getting the following error when trying to connect to it with RMySQL or DBI packages:
Error in .local(drv, ...) :
Failed to connect to database: Error: Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
On terminal, I must use the '--secure_auth=false' option to be able to connect to that MySQL server, but I'cant handle how to use it with RMySQL and DBI packages.
Reading these packages docs, I've found the default.file
arg to use in cdbConnect() functions. So I've created a '.my.cnf' file with 'secure_auth=false' direction (following MySQL documentation). But with this conf file the dbConnect() function crashed.
With RJDBC package, I can connect to that server, even without any extra option to set secure_auth. But I would like to use RMySQL to do that, since I am already using it to many other connections in the same script and also because RMySQL is more updated than RJDBC.
My sessionInfo():
R version 3.3.1 (2016-06-21)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RJDBC_0.2-5 rJava_0.9-8 DT_0.1 reshape2_1.4.1 RAdwords_0.1.9
[6] RGA_0.4.2 highcharter_0.3.0 ggplot2_2.1.0 lubridate_1.5.6 dplyr_0.4.3
[11] gpbR_1.0 RMySQL_0.10.9 DBI_0.4-1