EXTERNÝ PRÍSTUP NA DATABÁZU NA VIRTUÁLNOM SERVERI (VPS)
V „továrenskom“ nastavení je vzdialený prístup k MySQL serveru z bezpečnostných dôvodov zakázaný. Avšak, niekedy budete potrebovať poskytnúť vzdialený prístup k databázovému serveru pre kolegov prípadne budete chcieť využívať databázu zo stránky ktorá nie je na danom serveri. Tento návod bude vysvetľovať, ako na vašom VPS nastaviť vzdialený prístup k MySQL serveru.
Pre jeho použitie je potrebné prihlásenie sa na server pomocou SSH.
UPRAVTE KONFIGURAČNÝ SÚBOR MYSQL
V súbore /etc/mysql/my.cnf je viacero konfiguračných direktiv pre parametre s ktorými MySQL databázový server štartuje. Ich zmeny teda nie je možné uplatniť počas behu MySQL .
Adresu na ktorej má MySQL prijímať spojenia určuje parameter bind-address . Po inštalacii je nastavené tak, aby prijímal spojenia na 127.0.0.1 , tj. iba z vnútra VPS . Potrebujeme ho zmeniť na verejnú IP adresu servera.
Súbor je možné upraviť rôznymi editormi dostupnými na VPS
Nakoľko je úprava pomerne jednoduchá, postačí nám jednoduchý textový editor nano , spustíme ho pre úpravu súboru cez:
root@server:~# nano /etc/mysql/my.cnf
Pri hľadaní direktívy bind-address nám pomôže skratka CTRL+W
Hodnotu bind-address prepíšeme na IP adresu servera. Pokiaľ ju nepoznáte, IP adresu viete okrem administráčného rozhrania nájst aj vo výstupe príkazu ifconfig pod názvom inet addr:. Týmto nastavíte, že mysql bude pocúvať len na danej verejnej IP adrese. Ak chcete aby mysql počúval na localhost (127.0.0.1) adrese, môžete uviesť IP adresu ako 0.0.0.0
REŠTARTUJTE MYSQL SERVER
Aby sa zmeny prejavili , je potrebné restartovat MySQL server. Znamená to však krátkodobú nedostupnosť spojenia s databázou (do 5minút), preto je vhodné si reštart naplánovať na vhodný čas .
MySQL daemon na serveri reštartujeme pomocou service mysql restart
Týmto je externý pristúp k serveru povolený, ostáva teda povoliť prístup pre jednotlivé databázy a ich používateľov.
Úprava oprávnení databáz a užívateľov pre externé spojenia .
Po prihlásení k MySQL cez príkazový riadok vyberieme databázu s názvom mysql a upravime v nej záznamy pre užívateľa a databázu
Nastavenia prístupov jednotlivé databázy sú v tabuľke mysql.db , pre užívateľov sú v tabuľke mysql.user. Potrebujeme zmenit obsah stĺpca Host tak, aby sa smeli prihlásiť z ľubovoľnej adresy.
Pre úpravu je potrebné sa prihlásiť k databáze z príkazového riadku, napríklad podľa nášho návodu
Zmeny realizujeme pomocou príkazov:
use mysql
UPDATE db SET Host=’%’ WHERE Db=’NAZOV_DATABAZY’ ;
UPDATE user set Host =’%’ WHERE User=’USERNAME’
FLUSH PRIVILEGES;
Po dokončení týchto príkazov je externý prístup k databázam na VPS povolený.