2013-12-20 6 views
8

Ich muss auf einen MySQL-Remote-Server zugreifen, und ich möchte dies mit der R-Software tun.Zugriff auf MySQL mit R mit einem vor 4.1.1 Authentifizierungsprotokoll

Ich habe den Verbindungsparameter eingerichtet, aber ich kann nicht zugreifen. Ich benutze diesen Code:

drv <- dbDriver("MySQL") 
library(RMySQL) 
# open the connection using user, passsword, etc., as 
con <- dbConnect(MySQL(), user="user", password="psw", 
dbname="NameDB", host="webhosting", port=3306) 

Und ich erhalte diesen Fehler:

Error in mysqlNewConnection(drv, ...) : 
RS-DBI driver: (Failed to connect to database: Error: Connection using old (pre-4.1.1) 
authentication protocol refused (client option 'secure_auth' enabled) 

ich mit der MySQL Workbench in die Datenbank zu verbinden versucht, und es funktioniert nur, wenn ich die Option: „verwenden, die altes Authentifizierungsprotokoll ". Daher weiß ich, dass es das ist, was ich in meiner Verbindung aktivieren muss, auch mit R. Aber ich weiß nicht, wie das geht! Ich habe versucht, "secure_auth" zu deaktivieren, aber dbConnect hat diesen Parameter nicht.

Wie kann ich die Autorisierung ändern? Danke im Voraus!

Ps .: Ich kann das Serverpasswort nicht aktualisieren, damit es mit Post-4.1.1-Protokoll kompatibel ist.

+0

Benötigen Sie nicht die IP des Servers zum Verbinden? Dies ist, was ich verwendet habe und funktioniert, aber der Server ist im lokalen LAN. Also ich weiß nicht, ob es dir helfen würde. '' 'con <- dbConnect (" MySQL ", Benutzer =" Benutzername ", Datenbankname =" DatabaseName ", Host =" 192.168.1.4 ", Passwort =" IhrPasswort ")' '' – marbel

Antwort

0

Sie können versuchen, stattdessen eine Verbindung zu MySQL mit RJDBC herzustellen - es wird eine Verbindung mit dem JDBC-Treiber unter den Abdeckungen herstellen, die old-style authentication ermöglichen wird.

Verwandte Themen