Nadanie dostępu zdalnego do serwera MySQL
Standardowo zainstalowany i uruchomiony serwer MySQL na systemach linuxowych nie przyjmuje połączeń zewnętrznych. Jest to standardowe zachowanie zapewniające podstawowe bezpieczeństwo. W końcu, nie można się włamać zdalnie do czegoś, co nie jest dostępne. Czasami trzeba jednak do serwera łączyć się z zewnątrz. Choćby po to, aby serwerem zarządzać. Aby było to możliwe należy:
- zezwolić MySQL na nasłuch na interfejsie sieciowym. Aby to zrobić:
- edytujemy plik my.cnf
sudo nano /etc/mysql/my.cnf
- znajdujemy wiersz
bind-address = 127.0.0.1i stawiamy przed nim znak #. Spowoduje to włączenie nasłuchu serwera na wszystkich interfejsach sieciowych podłączonych do serwera. Jeśli chcemy zezwolić na dostęp po wybranym interfejsie, podajemy konkretny adres IP - restartujemy serwer
sudo service mysql restart
- edytujemy plik my.cnf
- zezwolić użytkownikowi MySQL , na przykład root, na łączenie się przez zdalny interface:
mysql -u root -pGRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "podaj_haslo";(zamiast podaj_hasło wpisz hasło użytkownika root)exit;
I to wszystko. Od tego momentu, użytkownik root MySQL może łączyć się zdalnie z serwerem.