Távoli kapcsolatok engedélyezése a MySQL-hez
Ha MySQL adatbázissal(MySQL database) dolgozik , akkor már tisztában van azokkal a kihívásokkal, amelyekkel az adatbázis biztonságban tartása során szembe kell néznie. Az SQL(SQL) -befecskendezést használó adatbázis-hackelési kísérletektől a brutális erőszakos támadásokig nehéz megőrizni adatait, különösen, ha távolról dolgozik adatbázissal.
Vannak módok az SQL -kiszolgálók konfigurálására, hogy lehetővé tegye a távoli kapcsolatokat, de óvatosnak kell lennie, mivel a távoli kapcsolatok engedélyezése egy MySQL - kiszolgálón az adatbázis könnyű célpontjává válhat a hackerek számára. Ha biztonságos távoli kapcsolatokat szeretne engedélyezni egy MySQL -adatbázishoz, a következőket kell tudnia.
Mielőtt elkezded(Before You Begin)
Mielőtt bármilyen módosítást hajtana végre a MySQL -adatbázison, fontos, hogy biztonsági másolatot készítsen az adatbázisról(backup your database) , különösen, ha éles kiszolgálón dolgozik (aktívan használt kiszolgáló). Bármilyen változtatást hajt végre az adatbázison vagy az azt tároló kiszolgálón, súlyos adatvesztéshez vezethet, ha valami elromlik.
Azt is tapasztalhatja, hogy a szerver kapcsolatainak módosítása megakadályozhatja, hogy később hozzáférjen. Ha ez megtörténik, további támogatásért konzultálnia kell a kiszolgáló rendszergazdájával. Jó ötlet, ha a módosításokat egy helyileg futtatott MySQL - kiszolgálón próbálja ki, hogy ellenőrizze, működnek-e a módosítások, mielőtt távolról kipróbálná őket.
Valószínű az is, hogy ha távoli kiszolgálón hajt végre módosításokat, biztonságos módra lesz szüksége a csatlakozáshoz és a módosításokhoz. Az SSH (Secure Shell)(SSH (Secure Shell)) gyakran a legjobb módja ennek, mivel lehetővé teszi a távoli szerverhez való csatlakozást. Az SSH segítségével a helyi hálózaton lévő kiszolgálókhoz is csatlakozhat, például a Raspberry Pi-n(hosted on a Raspberry Pi) .
Ez az útmutató végigvezeti a MySQL beállításának lépésein, hogy engedélyezze a távoli kapcsolatokat, de először gondoskodnia kell arról, hogy közvetlen vagy távoli hozzáféréssel rendelkezzen a MySQL -kiszolgálót tároló kiszolgálóhoz.
Tegyük fel(Suppose) , hogy nincs távoli hozzáférése a szerverhez SSH -n keresztül (például). Ebben az esetben nem tudja beállítani a MySQL -adatbázist úgy, hogy közvetlenül engedélyezze a távoli kapcsolatokat, kivéve, ha a root mySQL-fiókja már lehetővé teszi a távoli kapcsolatokat. Tehát a folytatáshoz először létre kell hoznia ezt a kapcsolatot.
A MySQL konfigurációs fájl szerkesztése(Editing Your MySQL Configuration File)
A MySQL(MySQL) távoli kapcsolatok engedélyezéséhez való konfigurálásának első lépése a MySQL konfigurációs fájl szerkesztése. Ebben a szakaszban ez az útmutató feltételezi, hogy már csatlakozott a szerverhez, PC-hez vagy Mac -hez, amely távolról tárolja mySQL-adatbázisát, és rendelkezik konzol-hozzáféréssel.
Alternatív megoldásként beállíthat egy helyi MySQL -kiszolgálót nyílt terminál segítségével Mac vagy Linux rendszeren , vagy szövegszerkesztővel Windows rendszeren(Windows) .
- Kezdésként használja a kívánt konzolszövegszerkesztőt a MySQL(MySQL) adatbázisfájl szerkesztéséhez . Linuxon(Linux) írja be a sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf egy terminál- vagy SSH -ablakba a fájl szerkesztéséhez a nano - szerkesztővel (feltéve, hogy a MySQL -adatbázis az alapértelmezett helyen van) .
- Ha Windows rendszert(Windows) futtat , nyissa meg a File Explorer programot, és nyissa meg a (File Explorer)MySQL -telepítést tartalmazó mappát (pl. C:/Program Files/MySQL/MySQL Server 8.0 ). Nyissa meg a my.ini fájlt az alapértelmezett szövegszerkesztővel (pl. Jegyzettömb(Notepad) ) a bejegyzésre duplán kattintva. Ha nincs ott, először hozza létre a fájlt(create the file first) .
- Mac rendszeren nyisson meg egy terminálablakot, és írja be a sudo sudo nano /usr/local/etc/my.cnf . Ez a MySQL alapértelmezett konfigurációs fájlja, ha a MySQL - t (MySQL) homebrew segítségével(using homebrew) telepítette .
A fent hivatkozott helyek a MySQL konfigurációs fájlok alapértelmezett helyei. Ha ezek a parancsok nem működnek, manuálisan kell megkeresnie a megfelelő fájlokat ( my.cnf , mysqld.cnf vagy my.ini ) a megfelelő fájl elérési útjának megkereséséhez.(my.ini)
Biztonságos kötési cím IP-tartományának beállítása(Setting a Safe Bind-Address IP Range)
- Miután megnyitotta a MySQL konfigurációs fájlt a kiszolgálóhoz, használja a billentyűzet nyílbillentyűjét a fájl kötési cím(bind-address) szakaszának eléréséhez. Ez az IP-tartomány korlátozza az adatbázishoz fűződő kapcsolatokat, amelyek általában úgy vannak beállítva, hogy csak a 127.0.0.1 -et használó helyi gépről vagy kiszolgálóról csatlakozzanak .
- Ha úgy szeretné konfigurálni MySQL -adatbázisát, hogy engedélyezze a kapcsolatokat a jelenlegi internetkapcsolatot használó eszközökről, először keresse meg nyilvános IP-címét(find your public IP address) , majd cserélje le a 127.0.0.1 -et ezzel az IP-címmel. Alternatív megoldásként cserélje ki annak az eszköznek vagy kiszolgálónak az IP-címére, amelyről engedélyezni kívánja a kapcsolatokat.
- Bizonyos esetekben érdemes engedélyezni az összes(all) távoli kapcsolatot egy MySQL - adatbázishoz. Ez rendkívüli kockázattal jár(extreme risk) , és nem használható éles szerveren. Ha azonban engedélyezni szeretné ezt, cserélje ki a 127.0.0.1 -et 0.0.0.0 -ra .
- Jegyezze fel a port értékét az Alapbeállítások(Basic Settings) részben. Erre a következő részben lesz szükség. Ha nem látható, a rendszer az alapértelmezett értéket használja, amely a 3306 -os port . Hozzáadhatja saját portját, ha egy új sorba beírja a port = xxxxxxxx helyére egy megfelelő portértéket ír.
- Miután konfigurálta a kötési címet(bind-address ) a MySQL konfigurációs fájljában, mentse a fájlt. Ha Linuxot használ(Linux) , válassza a Ctrl + O és a Ctrl + X ehhez. Mac rendszeren válassza a Command + O és a Command + X . A Windows-felhasználók a Fájl(File ) > Mentés(Save) menüpont kiválasztásával menthetnek .
- Ezután a Linux és Mac felhasználók újraindíthatják a MySQL -t a (MySQL)mysql.server stop && mysql.server start vagy a mysql.server restart beírásával . Előfordulhat, hogy a sudo segítségével(using sudo) emelni kell a parancsot (pl. sudo mysql.server restart ), és a mysql.server fájl megfelelő elérési útját kell használnia (pl. /usr/local/bin/mysql.server ).
- Ha a fenti parancs nem működik, próbálja meg helyette a sudo service mysql restartot(sudo service mysql restart ) .
- A MySQL(MySQL) újraindításához Windows rendszeren(Windows) nyisson meg egy új PowerShell -ablakot úgy, hogy jobb gombbal kattintson a Start menüre, és válassza a Windows PowerShell (Rendszergazda)(Windows PowerShell (Admin)) lehetőséget . A PowerShell ablakba írja be a net stop mysql80 , majd a net start mysql80 szót , és a (net start mysql80)mysql80 helyére a számítógépen található megfelelő szolgáltatásnév kerüljön.
Ha nem biztos a megfelelő szolgáltatásnévben Windows rendszeren(Windows) , írja be a net start szót(net start) a megtalálásához. Ha nem tudja újra betölteni a konfigurációt, indítsa újra a kiszolgálót, és töltse be újra a MySQL -t manuálisan (ha szükséges).
A tűzfalak konfigurálása(Configuring Your Firewalls)
Ebben a szakaszban a MySQL -adatbázisnak lehetővé kell tennie a távoli kapcsolatokat a MySQL konfigurációs fájljában (MySQL)kötési címként(bind-address) beállított IP-címet használó eszközökről (vagy minden eszközről, ha ezt az értéket 0.0.0.0 -ra állítja helyette). A kapcsolatokat azonban továbbra is blokkolja az eszköz vagy a hálózati tűzfal(device or network firewall) .
A legtöbb kiszolgáló és számítógép tűzfalat használ a kapcsolatok blokkolására, hacsak nincs hozzáférés egy adott porthoz. A konfigurálás lépései attól függően változnak, hogy a MySQL -t Windows vagy Linux rendszeren futtatja . A Mac(Mac) tűzfalai alapértelmezés szerint le vannak tiltva, így nem kell további lépéseket itt végrehajtania.
Konfigurálja a Linux tűzfalakat(Configure Linux Firewalls)
Sok Linux-kiszolgáló az iptables -t használja alapértelmezett tűzfal-segédprogramként. Az alábbi lépések végrehajtásával konfigurálhatja.
- Nyisson meg egy terminál- vagy SSH -kapcsolatot, és írja be a sudo iptables -A INPUT -p tcp -s XXXX -dport YYYY -j ELFOGADÁS parancsot(sudo iptables -A INPUT -p tcp -s X.X.X.X –dport YYYY -j ACCEPT) . Cserélje ki az XXXX -et annak az eszköznek az IP-címével, amelyről engedélyezni kívánja a MySQL - kapcsolatokat ,(from) és cserélje ki az YYYY -t a MySQL konfigurációs fájljában található megfelelő portértékre (pl. 3306 ).
- Ez ideiglenesen konfigurálja a tűzfalat. Ha Debian- vagy Ubuntu-alapú Linux -kiszolgálót használ, tegye véglegessé ezt a módosítást a (Linux)sudo netfilter-persistent save és a sudo netfilter-persistent reload parancs beírásával a terminálba vagy az SSH-ablakba.
Ha az iptables nem az alapértelmezett tűzfaleszköz a Linux -disztribúcióhoz, további információért olvassa el a disztribúció felhasználói kézikönyvét. Ha bizonyos csomagok (például a netfilter-persistent ) nem érhetők el, használja a disztribúció szoftvertár eszközét a telepítéshez (pl. sudo apt install netfilter-persistent ).
Konfigurálja a Windows tűzfalakat(Configure Windows Firewalls)
Ha Windows rendszerű számítógépet vagy kiszolgálót használ az adatbázis tárolására, a tűzfalat az alábbi lépésekkel konfigurálhatja:
- Kattintson a jobb gombbal(Right-click) a Start menüre, és válassza a Futtatás lehetőséget(Run) .
- A Futtatás(Run) mezőbe írja be a wf.msc parancsot(wf.msc) , és kattintson az OK gombra(OK) .
- A Windows Defender ablakában válassza a Bejövő szabályok(Inbound Rules ) > Új szabály lehetőséget(New Rule) .
- Az Új bejövő szabály varázsló(New Inbound Rule Wizard) ablakban válassza a Port > Tovább lehetőséget(Next) .
- A következő menüben válassza ki a TCP -t a lehetőségek közül, írja be a 3306 -ot (vagy a (3306 )MySQL konfigurációs fájljában felsorolt portértéket ), majd válassza a Tovább(Next) lehetőséget .
- A Művelet(Action) menüben hagyja meg az alapértelmezett beállítást a Kapcsolat(Allow the connection) engedélyezése beállításnál, majd válassza a Tovább(Next) lehetőséget .
- Erősítse meg, hogy a szabályt minden hálózattípusra alkalmazni szeretné, majd válassza a Tovább(Next) lehetőséget .
- Írjon be egy leíró nevet a szabálynak (pl. MySQL ) a megadott portba, majd válassza a Befejezés(Finish) lehetőséget, hogy hozzáadja a tűzfalszabályok listájához.
Ha problémái vannak a csatlakozással, ismételje meg a fenti lépéseket, és ügyeljen arra, hogy a tűzfal beállításaiban hozzon létre egy új kimenő szabályt ugyanazokkal az adatokkal (3306-os port stb.). (outbound rule )Előfordulhat, hogy be kell állítania a helyi hálózati útválasztót a szükséges blokkolt portok megnyitásához(open the necessary blocked ports) , hogy lehetővé tegye a bejövő és kimenő kapcsolatokat az adatbázishoz.
Csatlakozás távoli kiszolgálóhoz MySQL használatával(Connecting to a Remote Server Using MySQL)
Miután a MySQL(MySQL) -adatbázist úgy konfigurálta , hogy lehetővé tegye a távoli kapcsolatokat, ténylegesen kapcsolatot kell létesítenie vele. Ezt megteheti a mysql paranccsal(mysql) ( Windows rendszeren (Windows)mysql.exe ) terminálból vagy PowerShell ablakból.
Ha Windows rendszert használ(Windows) , akkor a kezdés előtt meg kell győződnie arról, hogy a MySQL helyileg telepítve(MySQL is installed locally) van. A Mac felhasználók (Mac)a Homebrew(using homebrew) segítségével telepíthetik a MySQL -t a terminálról ( brew install mysql ), míg a Linux felhasználók a helyi alkalmazástárolójukat (pl. sudo apt install mysql ) használhatják a szükséges csomagok telepítéséhez.
Csatlakozás a MySQL-hez Linuxon vagy Macen(Connecting to MySQL on Linux or Mac)
- A távoli MySQL -kiszolgálóhoz való csatlakozáshoz Mac vagy Linux rendszeren nyisson meg egy új terminálablakot, és írja be a mysql -u felhasználónév -h XXXX:XXXX -p parancsot(mysql -u username -h X.X.X.X:XXXX -p) . Cserélje le az XXXX:XXXX értéket a távoli szerver IP-címére és portszámára (pl. 100.200.100.200:3306 ), valamint a felhasználónévre(username) a MySQL felhasználónevére.
- Amikor a rendszer kéri, erősítse meg jelszavát. Ha a csatlakozás sikeres, a terminálban megjelenik egy sikeres üzenet.
Csatlakozás a MySQL-hez Windows rendszeren(Connecting to MySQL on Windows)
- Ha egy távoli MySQL -kiszolgálóhoz szeretne csatlakozni Windows rendszeren(Windows) , nyisson meg egy új PowerShell -ablakot úgy, hogy jobb gombbal kattintson a Start menüre, és válassza a Windows PowerShell (Rendszergazda)(Windows PowerShell (Admin)) lehetőséget .
- Az új PowerShell ablakban írja be a cd “C:\Program Files\MySQL\MySQL Workbench 8.0\ ” parancsot a megfelelő mappa megadásához, és cserélje ki ezt a könyvtárat a megfelelő telepítési könyvtárra a számítógépen. Például, ha a MySQL verziója 8.0.1, használja helyette a MySQL Workbench 8.0.1 mappát.
- Innen írja .\mysql.exe -u username -h X.X.X.X:XXXX -p . Cserélje le az XXXX:XXXX értéket a távoli szerver IP-címére és portszámára (pl. 100.200.100.200:3306 ) és a felhasználónévre(username) egy távoli hozzáférést lehetővé tevő MySQL felhasználónévre (például root ). Kövesse(Follow) a képernyőn megjelenő további utasításokat.
- Amikor a rendszer kéri, adja meg jelszavát a bejelentkezési folyamat befejezéséhez és a MySQL - adatbázis távoli eléréséhez.
Ha ez nem működik, csatlakozzon a MySQL - kiszolgálót futtató kiszolgálóhoz vagy számítógéphez SSH használatával (vagy közvetlenül érje el) az alábbi lépésekkel és a -h localhost argumentum használatával. Ezután az alábbi lépések végrehajtásával létrehozhat egy megfelelő felhasználói fiókot.
Távoli felhasználói hozzáférés engedélyezése egy MySQL-adatbázishoz(Allowing Remote User Access to a MySQL Database)
Ekkorra már képesnek kell lennie arra, hogy távolról csatlakozzon a MySQL -kiszolgálóhoz a kiszolgáló root felhasználói fiókjával vagy egy másik, emelt szintű jogosultságokkal rendelkező felhasználói fiókkal. Mivel ez a hozzáférési szint nem biztonságos, érdemes lehet egy korlátozottabb fiókot létrehozni a MySQL - adatbázis eléréséhez.
Ennek a fióknak korlátozott hozzáférése lesz a MySQL -kiszolgálóhoz, így csak a kiválasztott adatbázisokkal tud együttműködni. Komolyabb változtatásokat nem tud majd végrehajtani, mint például más adatbázis-adatok elérése, új felhasználói fiókok létrehozása stb.
Lehetővé kell tennie, hogy távolról bejelentkezzen a MySQL -kiszolgálóra. (MySQL)Ha nem tudja távolról használni root fiókját, akkor a mysql paranccsal távoli SSH - kapcsolaton keresztül, vagy közvetlenül a kiszolgálót üzemeltető számítógépen vagy kiszolgálón keresztül kell elérnie a szerver shelljét.
- A távoli MySQL shellben (a mysql eszközzel) írja be a CREATE USER “username”@”x.x.x.x” IDENTIFIED BY “password”; és válassza az Enter billentyűt(Enter) . Cserélje le a felhasználónevet(username ) a létrehozni kívánt felhasználónévvel, az xxxx helyére azt az IP-címet, amelyről csatlakozni kíván, a jelszót(password) pedig egy megfelelő jelszóra.
- Meg kell adnia új fiókját a szükséges engedélyekkel. Ehhez írja be: GRANT ALL ON databasename.* TO username@”x.x.x.x”; és cserélje ki az adatbázisnevet, a felhasználónevet(databasename, username, ) és az xxxx -et a megfelelő adatokra. Ha szeretné, cserélje le az adatbázisnevet * (databasename)* , hogy hozzáférést biztosítson az összes adatbázishoz.
Ha a hozzáférést megadta, a fenti szakaszban leírt lépésekkel távolról csatlakozhat a szerverhez az új fiókjával (pl. mysql -u felhasználónév -h XXXX:XXXX -p(mysql -u username -h X.X.X.X:XXXX -p) ).
Az adatbázis adatainak védelme(Securing Your Database Data)
Akár MySQL -lel, akár más típusú SQL -adatbázissal dolgozik, az adatbiztonság megőrzése érdekében fontos, hogy biztonságosan tartsa kapcsolatait. Ennek jó módja az, hogy SSH-kulcsokat generál a szerver távoli eléréséhez(generate SSH keys for remote access) , ahelyett, hogy elavult (és könnyen kitalálható) jelszavakra hagyatkozna.
Ha aggódik az adatvesztés miatt, könnyedén készíthet biztonsági másolatot adatbázisáról(back up your database) online. A legtöbb adatbázis Linux -kiszolgálókon fut – könnyedén automatizálhatja a Linux-fájlok biztonsági mentését(automate a Linux file backup easily) . Ha a MySQL -t Windows rendszeren(Windows) futtatja , beállíthat egy hasonló automatikus biztonsági mentési rendszert a Windows rendszerhez(automatic backup system for Windows) , amely lehetővé teszi az adatok vészhelyzetben történő visszaállítását.
Related posts
Hogyan lehet blokkolni a távoli kapcsolatokat Windows vagy Mac számítógépekkel
A Fire TV távirányító alaphelyzetbe állítása
Hálózati kapcsolatok áthidalása a Windows 7/8/10 rendszerben
A távoli asztal konfigurálása útválasztón keresztül
A távoli asztal hitelesítő adatainak mentésének megakadályozása a Windows rendszerben
Hogyan végezzünk CPU feszültségtesztet
A 8 legjobb technológiai ötlet az önizoláció megküzdésére
A számítógépes szoftver automatikus frissítése
A Windows.old mappa törlése a Windows 7/8/10 rendszerben
GIMP beépülő modulok telepítése: Útmutató
Az AI segítségével azonnal távolítsa el a háttereket a képekről
Hogyan védje meg a PDF-fájlt jelszóval a biztonság érdekében
Több oldal beolvasása egyetlen PDF fájlba
Hogyan lehet visszaállítani egy feltört Facebook-fiókot
Hogyan tartsa ébren Windows PC-jét anélkül, hogy megérintené az egeret
Hogyan lehet megnyitni a DDS fájlokat a Windows 10 rendszerben
Egyszerű kérdések: Mik azok a távoli asztali kapcsolatok?
A Google Chrome Offline (önálló) telepítő letöltése
Hogyan lehet letiltani a Windows kulcsot
Kapcsolja ki a felhasználói fiókok felügyeletét (UAC) egy adott alkalmazáshoz