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.cnf
konfiguráció) - a megadott felhasználóval nem tudunk kapcsolódni (
mysql
adatbázisdb
,host
,user
beá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)