我有一个遗留数据库需要从命令提示符
连接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
答案 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
,因此您基本上将身份验证模式从默认更改为旧版本上面提到的片段。