java.sql.SQLException: невозможно загрузить плагин аутентификации caching_sha2_password - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь подключиться к базе данных MySQL в приложении Ktor:

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 файле.

...