在Eclipse中,当我启动我的应用程序时,我得到了-无法找到要使用的方言。 java.sql.SQLException:无法加载身份验证插件“ caching_sha2_password”。


  在java.sql.SQLException:无法加载身份验证插件
  'caching_sha2_password'。在
  com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868)位于
  com.mysql.jdbc.SQLError.createSQLException(SQLError.java:864)位于
  com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1746)
    在com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)在
  com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2191)
    在
  com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2222)
    在
  com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2017)
    在com.mysql.jdbc.ConnectionImpl。(ConnectionImpl.java:779)
    在com.mysql.jdbc.JDBC4Connection处(JDBC4Connection.java:47)
    在sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
  方法)在
  sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源)
    在
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知
  源代码,位于java.lang.reflect.Constructor.newInstance(未知
  源代码)位于com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    在
  com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)位于
    在
  com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
    位于java.sql.DriverManager.getConnection(未知源)处
  java.sql.DriverManager.getConnection(未知源),位于
  ch.qos.logback.core.db.DriverManagerConnectionSource.getConnection(DriverManagerConnectionSource.java:54)
    在
  ch.qos.logback.core.db.ConnectionSourceBase.discoverConnectionProperties(ConnectionSourceBase.java:46)
    在
  ch.qos.logback.core.db.DriverManagerConnectionSource.start(DriverManagerConnectionSource.java:38)
    在
  ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:161)
    在
  ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)
    在
  ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)
    在
  ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)
    在
  ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
    在
  ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
    在
  ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
    在
  ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
    在
  ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
    在
  ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
    在
  ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
    在
  org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)在
    在
  org.slf4j.impl.StaticLoggerBinder。(StaticLoggerBinder.java:55)
    在org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)处
  org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
    在
  org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)在
    在
  ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32)
    在
  ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20)
    在
  ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32)
    在
  org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5245)
    在
  org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    在
  org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1421)
    在
  org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1411)
    在java.util.concurrent.FutureTask.run(未知来源)在
  java.util.concurrent.ThreadPoolExecutor.runWorker(未知源),位于
    在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源)
    在java.lang.Thread.run处(未知源)

最佳答案

从MySQL 8.0.4开始,他们更改了默认设置
  MySQL服务器的身份验证插件,从mysql_native_password到
  caching_sha2_password。


您可以运行以下命令来解决此问题。

样本用户名/密码=>学生/ pass123

ALTER USER 'student'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass123';


有关详细信息,请参阅官方页面:MySQL Reference Manual

09-11 05:50
查看更多