Verzió információk:
DBeaver: Version 22.0.2.202204041542
MySQL szerver: 8.0.27
Hozzuk létre az új kapcsolatot:

Állítsuk be az SSH tunnelt (1) én készítettem profilt (2), hogy több kapcsolatnál is tudjam ugyanazt az SSH konfigurációt használni, ezt ki lehet hagyni a "Settings"-nél meg lehet adni a szükséges adatokat:

Adjuk meg a bejelentkezéshez az adatokat (2) és teszteljük a kapcsolatot (3):

"OK" majd "Apply and Close"-al zárjuk be az SSH beállításokat, visszatérünk az adatbázis konfigurációhoz, adjuk meg (1) az előbb létrehozott SSH profilt:

Váltsunk a "Main" tabra és ott adjuk meg (1) az adatbázis eléréshez szükséges adatokat (a tunnel miatt itt a "Server Host" localhost és "Port" pedig a szerveren lévő MySQL - általában alapértelmezett - 3306-os portja), majd teszteljük a kapcsolatot (2):

Itt lehetnek problémák, pl:
- nincs engedélyezve a távoli kapcsolat a MySQL szerveren (
mysqld.cnfkonfiguráció) - a megadott felhasználóval nem tudunk kapcsolódni (
mysqladatbázisdb,host,userbeállításai) - nem megfelelő user + jelszó
Végül pedig amibe belefutottunk:
- SSH jó volt (másik kapcsolat működött)
- másik adatbázishoz másik felhasználó működött
- jó volt a jelszó
- beállításaik szinte 99%-ban megegyeztek (
db,host,user)
Ezek után ezt a hibát kaptuk: Public Key Retrieval is not allowed a [Driver properties] alatt van egy allowPublicKeyRetrieval kulcs amit módosítottam true/yes-re. Nem oldotta meg, jött a következő: Access denied for user '<USER>'@'<HOST>' (using password: YES).
Itt kezdtem gyanakodni és nyomozni, hogy miben tér el a működő és a nem működő felhasználó beállítása a mysql táblákban. Egyetlen dolog volt ami szóba jöhetett (minden más stimmelt) a user.plugin oszlopnak: caching_sha2_password volt az értéke, a működő felhasználónak pedig mysql_native_password.
Módosítsuk az érintett felhasználó bejelentkezését:
ALTER USER '< USER >'@'< HOST >'
IDENTIFIED WITH mysql_native_password BY '<*** PASS ***>';
FLUSH privileges;
Ezek után sikeresen tudtam kapcsolódni az adatbázishoz.

Top comments (0)