Externý prístup k databáze na virtuálnom serveri

 

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ý.