什么JDBC属性对应于mysql命令行的“--skip-secure-auth”选项?

时间:2014-08-22 09:32:11

标签: java mysql jdbc command-line-arguments

我有一个遗留数据库需要从命令提示符

连接
mysql --uUserName -hHostName -pPassword -P3307 -A Schema --skip-secure-auth

如何在JDBC属性--skip-secure-auth

中指定相同的内容
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://HostName:3307/Schema
jdbc.user=UserName
jdbc.password=Password
jdbc.maxConnections=5

2 个答案:

答案 0 :(得分:1)

--skip-secure-auth允许使用旧的4.1之前的密码哈希方法。这种过时的身份验证机制由称为mysql_old_password的插件处理。

According to the Connector/J manual,默认情况下已禁用(阅读disabledAuthenticationPlugins选项),所以我认为默认行为是允许此类连接(即等效于{ {1}})。

答案 1 :(得分:0)

如果有人使用较旧的密码哈希方法仍然存在与OP的问题相同的问题,那么建议的做法是将密码更改为pointed here

如果目前无法实现上述目标,并且您只是想让您的JDBC连接器以旧的不太安全的方式连接到MySQL,那么在context.xml文件中执行此操作的方法是

authenticationPlugins="com.mysql.jdbc.authentication.MysqlOldPasswordPlugin"

不确定相应的JDBC语法是什么。

由于mysql-connector-java-5.1.19(我拥有的最新版本是5.1.23)JAR,默认身份验证为com.mysql.jdbc.authentication.MysqlNativePasswordPlugin,因此您基本上将身份验证模式从默认更改为旧版本上面提到的片段。