JDBC MySQL külső adatbázis elérési hiba.

0 értékelés
61 megtekintés
suti1979 (22 pont) kérdezte Jan 3.
Sziasztok!

JDBC-vel szeretnék külső MySQL adatbázist elérni, de nem szereti, mert azt mondja:"Host '78-131-55-198.static.hdsnet.hu' is not allowed to connect to this MySQL server".

Google barátunk segítségével odáig eljutottam, hogy ha az adatbázishoz lenne egy "GRANT ALL PRIVILEGES" userem, akkor már barátok lennének egymással elméletileg.

Viszont nem tudok (nincs opció) a külső adatbázisban ilyen user létrehozására, valamint amennyire olvastam, nem is túl szerencsés ilyet létrehozni biztonsági okokból.

Kérdésem, hogy hogyan lehetne megoldani a kapcsolatot egy "super user" nélkül?

A program amúgy localhost-on futó mySQL-el tökéletesen működik. (WAMP szerver alatt.)

Segítségeteket előre is köszönve,

Süti

1 Válasz

0 értékelés
balazs79 Szakértő (400 pont) válaszolta meg Jan 3.
suti1979 kiválasztva Jan 3.
 
Legjobb válasz
Először:

A mysql adatbázis user tábláját nézd meg, ha csak localhost szerepel benne, akkor nem fogod tudni távolról elérni.

Én mariadb-t használok. (MySQL-t megvette az Oracle ez maradt a régi MySQL, licens-elés szempontjából nem mindegy ).

mysql adatbázisban:

CREATE USER 'balazs79'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'balazs79'@'%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;

Ezután meg kell nézni, hogy kívülről elérhető-e a 3306-os port!

nmap vagy telnet segítségével

Ha nem látod, akkor még a tűzfalon is ki kell engedni +

Az alábbi elérésen ki kell kommentelni a 127.0.0.1-es ip címet.

/etc/mysql/mariadb.conf.d/50-server.cnf | grep 127.0.0.1
#bind-address        = 127.0.0.1

második

Felteszel egy phpMyAdmin -t. A php localban fog kapcsolódni az adatbázishoz és te egy webes felületen keresztül tudod majd managelni.
suti1979 (22 pont) szólt hozzá Jan 3.
Hát igen localhost... mondjuk azt a szervert web alkalmazásokra használom és nyilván "helyben" PHP-val mindig elértem és ezen soha nem kellett gondolkozzak, hogy ha máshonnan akarom elérni, akkor mi van...
Csak a JAVAba most kezdem be és nem is gondoltam át, miért nem érem el.

Van phpMyAdmin a szerveren (intrex.hu-n van amúgy), csak jogosultságom nincs ilyen USERt létrehoznom.

Viszont nem értem a "második" lehetőséget, amit írtál. Van phpMyAdmin, működik is, meg minden. De ettől én még hogy fogom elérni a JDBC-vel, ha nem tudok olyan user-t csinálni, aki "mindent" megtehet?

A választ sejtem lassan, hogy sehogy, de megerősítenél benne? ;)
balazs79 Szakértő (400 pont) szólt hozzá Jan 3.
A második lehetőség csak az adatbázis piszkálására alkalmas, de ezt már egy webfelületen keresztül távolról is meg tudod oldani.

A külső webszolgáltatók nem szokták engedni a közvetlen db kapcsolatot, már csak licenszelési dolgok miatt sem  :-(
(valószínűleg már ők is átáltak mariadb-re)

Ha jdbc-t akarsz használni telepítsd az adatbázist a saját gépedre (vagy egy virtuális Linuxra)!
suti1979 (22 pont) szólt hozzá Jan 3.
Értem, köszönöm.
Persze megy saját gépről adatbázisom és azzal nem is volt gond, csak ezt a külsőt szerettem volna megoldani, de akkor így ez nem megvalósítható.
Köszönöm ismét a segítséget. :)
...