0

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ファイルに。

4

0 に答える 0