MySQL升级后,Tomcat7领域身份验证失败

时间:2019-09-07 21:27:07

标签: mysql tomcat7

我最近将服务器从Debian 7升级到Debian 10,其中包括从MySQL升级到MariaDB。我正在使用tomcat7作为应用程序服务器。我可以登录数据库,所有用户名/密码信息仍然存在,但是通过tomcat进行的领域身份验证未正确进行身份验证。

与升级之前一样,在命令行上使用mysql -u root -p可让我访问所需的数据。 catalina.out日志文件表示无法加载身份验证插件。使用MySQL登录后,我可以看到从tomcat成功登录到数据库。我已经确保mysql / mariadb的jdbc连接器是最新的。

catalina.out:

Sep 07, 2019 5:22:55 PM org.apache.catalina.realm.JDBCRealm authenticate
SEVERE: Exception performing authentication
java.sql.SQLException: Unable to load authentication plugin ''.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:880)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:876)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1684)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2239)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2270)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
    at jdk.internal.reflect.GeneratedConstructorAccessor17.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:389)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
    at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:714)
    at org.apache.catalina.realm.JDBCRealm.authenticate(JDBCRealm.java:350)
    at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:281)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:449)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:834)

mysql常规日志:

190907 17:22:55    717 Connect  root@localhost as anonymous on webserver
           718 Connect  root@localhost as anonymous on webserver

我希望tomcat像以前一样通过mysql数据库对用户进行身份验证。

谢谢!

0 个答案:

没有答案