Hirdetés

Keresés

Új hozzászólás Aktív témák

  • disy68
    aktív tag

    Sziasztok.

    SpringBoot alkalmazásból szeretnék elérni egy Mysql adatbázist, de ezt a hibaüzenetet kapom:

    java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.

    A program properties fájlja:

    datasource:
    url: jdbc:mysql://localhost:3307/blogDB?useSSL=false
    username: username
    password: password
    tomcat:
    connection-properties: useUnicode=true;characterEncoding=utf-8
    max-wait: 20000
    max-active: 50
    initialization-mode: always

    jpa:
    hibernate:
    ddl-auto: create
    show-sql: true
    properties:
    hibernate.dialect: org.hibernate.dialect.MySQL5Dialect

    Ha a useSSL-t true-ra állítom akkor pedig ezzel a hibával száll el:

    com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    Őszintén szólva, nem igazán értem mi lehet a probléma.
    Az első hibára az interneten javasolt megoldás nekem nem működött, ugyan úgy dobja a hibát.
    (Javasolt megoldás : )

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

    Az adatbázis localhost-on megy, dockerbe, a default 3306-os portot más adatbázis miatt át mappeltem 3307-re. MySQL Workbench-el elérem az adatbázist, csak programból nem.

    Tipp ? :W

    Szia, nézd meg mi a verziója a mysql-connectornak, amit a spring akar használni, valószínűleg egy régebbi lesz, ami nem támogatja az újabb jelszó kezelési eljárást. Nem tudom mit használsz, maven-t/gradle-t, de adj hozzá dependency-ként egy frissebb verziót pl. ezt.

  • htc07
    addikt

    Sziasztok.

    SpringBoot alkalmazásból szeretnék elérni egy Mysql adatbázist, de ezt a hibaüzenetet kapom:

    java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.

    A program properties fájlja:

    datasource:
    url: jdbc:mysql://localhost:3307/blogDB?useSSL=false
    username: username
    password: password
    tomcat:
    connection-properties: useUnicode=true;characterEncoding=utf-8
    max-wait: 20000
    max-active: 50
    initialization-mode: always

    jpa:
    hibernate:
    ddl-auto: create
    show-sql: true
    properties:
    hibernate.dialect: org.hibernate.dialect.MySQL5Dialect

    Ha a useSSL-t true-ra állítom akkor pedig ezzel a hibával száll el:

    com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    Őszintén szólva, nem igazán értem mi lehet a probléma.
    Az első hibára az interneten javasolt megoldás nekem nem működött, ugyan úgy dobja a hibát.
    (Javasolt megoldás : )

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

    Az adatbázis localhost-on megy, dockerbe, a default 3306-os portot más adatbázis miatt át mappeltem 3307-re. MySQL Workbench-el elérem az adatbázist, csak programból nem.

    Tipp ? :W

    Úgy látom, a mysql5-ben a mysql_native_password a default authentication plugin, a 8-ban pedig a caching_sha2_password. Feltételezem 8-ast használsz.

    elsőre amit megpróbálnék, a hibernate dialect-et mysql8-ra állítani.

    ha nem jön be, ezt próbáld meg esetleg:

    https://stackoverflow.com/a/49228443

    de ne vedd készpénznek így negyed4kor. :DDD

Új hozzászólás Aktív témák