java.sql.SQLException:无法加载身份验证插件“ caching_sha2_password”

时间:2018-10-27 22:30:00

标签: mysql jdbc kotlin ktor

我试图在Ktor应用程序中连接到MySQL数据库:

fun initDB() {
    val url = "jdbc:mysql://user:pass@localhost:3306/databasename?useUnicode=true&serverTimezone=UTC"
    val driver = "com.mysql.cj.jdbc.Driver"
    Database.connect(url, driver)
}

...

fun getUsers(): String {
    var json = ""
    transaction {
        val dbResult = Users.selectAll().orderBy(Users.lastName, true).limit(10)
        ...
        json = Gson().toJson(users);
    }
    return json
}

但是我收到以下错误:

  

java.sql.SQLException:无法加载身份验证插件   'caching_sha2_password'

为什么会发生?以及如何解决?

UPD

最终我找到了一种解决方法:我通过命令在MySQL中创建了新用户

CREATE USER 'nativeuser'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'password';

然后授予他所有特权,并重新连接新的凭据。但是第一个问题仍然是实际的,因为我没有任何类似的设置

default_authentication_plugin=caching_sha2_password

在我的 my.ini 文件中。

0 个答案:

没有答案
相关问题