Ilyet lehet mysqlel csinálni ha igen hogy?
xampp-n futtatok egy mysql szervert meg van egy saját c# lekérdező programom. Azt szeretném elérni hogy az összes gépen működjön(beleértve a tieteket is) a lekérdező program, de csak egy bizonyos ip címmel, jelszóval és porttal. De a phpmyadmin oldalt csak én a szervergépről érjem el.
Lehet ilyet csinálni? Ha igen hogy? Ha van videó is jó lesz! (tudok angolul)
Előre is köszi a válaszokat!
Meg, de nem szokás adatbázist közvetlenül kliensekről elérni.
Húzz fölé egy API-t inkább, azt publikáld ki.
Nagy vonalakban:
1. A géped privát hálózati IP-címét manuálisan, statikusra kell beállítanod - szóval hogy ne dinamikusan mást és mást kapjon a routertől. Ehhez tudni kéne, hogy
* a router milyen tartományban oszt ki
* mi a router LAN-oldali IP-címe (az alapértelmezett átjáró miatt)
Ennek beállítása a gépen:
vagy a routeren keress olyasmit, hogy "Address Reservation".
2. A MySQL-ben be kell állítani, hogy az előbb említett statikus IP-címen lehessen elérni. Ehhez a MySQL beállítóállományában (my.ini illetve my.cnf) kell módosítani a
bind-address
sort ilyesmire:
bind-address = 0.0.0.0
illetve a
skip-networking
sort kiiktatni - például eképpen
#skip-networking
Majd a MySQL szervert újra kell indítani.
3. A számítógép tűzfalán illetve a routerben át kell engedni a MySQL alapértelmezetten 3306-os portját.
A routerben keress olyasmit hogy "port forwarding" vagy "virtual server", Windowsban meg a tűzfalnál nézz szét.
4. Mivel a szolgáltatód - szinte biztosan - dinamikusan osztja ki a publikus IP-címet, érdemes dinamikus DNS-t beállítani. Ilyen szolgáltató például a
így egy hosztnévről érheted el a szervered.
5. Ügyelj arra, hogy az adatbázisokhoz kívülről csak adott felhasználó adott jogosultsági kereteken belül férhessen hozzá.
Elfogtam egy nem privát üzenetet:
"Szia.A válaszod sokat segített( https://www.gyakorikerdesek.hu/szamitastechnika__programok__.. de lenne még pár kérdésem. Ha van időd légy szíves írj vissza. Előre is köszi.
Ezt vettem le belőle:
Tehát az 1-es ponban a szervergépnek be kell állítani egy olyan ip címet ami nem változik pl.192.168.0.105"
Általában a routerekben a DHCP tartományt eléggé tágra szokták szabni, szóval érdemes valamilyen alacsonyabbat (a példánál maradva 192.168.0.2) beállítani. De ez a routertől függ.
" A második pontban a bind-adress=0.0.0.0 a nullák helyére mit kell írni?"
Semmit. Ez a 0.0.0.0 IP-cím arra utal, hogy a gépnek kiosztott bármilyen IP-címről (így az előző példa 192.168.0.2 illetve a helyi 127.0.0.1-ről is) elérhető lesz a MySQL-szerver.
"A harmadik pontot értem, át kell engedni a portot.Azt kell a c# kódba mysql csatlakozásnál az iphez beírni amit átengedtem.(3306)
...
A negyedik pontban az ipmet kell "lecserélni" egy olyan dns(domain) címre amit majd a c# kódba a mysql csatlakozásnál be fogok írni mint a portot ugye?"
A 3306 nem az IP, hanem a port. A portot nem kötelező megadni de megadható - például:
Server=azenszerverem.no-ip.org;Port=3306;
"Az ötödik pontot értem. a phpmyadminban létre kell hozni egy felhasználót ezekkel az adatokkal: névhez a dns(domain), jelszóhoz akármi és jogokat kell neki adni ugye?"
Igen, és arra ügyelj, hogy az adott felhasználó csak az adott adatbázis csak az adott táblájához férhessen hozzá, és csak a szükséges műveleteket végezhesse el (szóval például a kliensek ne hozhassanak létre új táblákat, vagy írhassanak/módosíthassanak olyan táblákat, ahova nem szabadna).
"És amilyen felhasználó nem kell ki kell kapcsolni/letiltani."
Vagy legalább csak a localhostról (127.0.0.1) elérhetővé tenni, ha van adminisztrációs alkalmazás.
Közvetlen írasi jogokat adni klienseknek elég öngyilkosságnak hangzik.
Akkor már max csak bizonyos tárolt eljárásokra...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!