我需要访问一个MySQL远程服务器,我想用R软件做到这一点。
我设置了连接参数,但无法访问。我使用以下代码:
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)
字符串
我收到这个错误:
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)
型
我尝试使用MySQL工作台连接到数据库,只有当我选择“使用旧的身份验证协议”时,它才能工作。因此,我知道这是我需要在连接中激活的,也是使用R。然而,我不知道如何做到这一点!我试图禁用“secure_auth”,但dbConnect没有该参数。
如何更改授权?提前感谢!
注:我无法升级服务器密码,使其与后4.1.1协议兼容。
3条答案
按热度按时间r6vfmomb1#
您可能想尝试使用RJDBC连接到MySQL-它将与隐藏的JDBC驱动程序连接,这显然将允许old-style authentication。
wmtdaxz32#
根据数据库的大小,您可以使用MySQL MySQL将远程数据库克隆到本地数据库。然后它只是一个本地连接,您可以禁用/控制其身份验证。
rta7y2nd3#
要使用4.1.1之前的认证协议连接到MySQL,需要在
dbConnect()
函数中添加一个名为useLegacyAuth
的参数。该参数应设置为TRUE以启用旧的认证协议。字符串