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:

  1. zezwolić MySQL na nasłuch na interfejsie sieciowym. Aby to zrobić:
    1. edytujemy plik my.cnf sudo nano /etc/mysql/my.cnf
    2. znajdujemy wiersz bind-address = 127.0.0.1 i 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
    3. restartujemy serwer sudo service mysql restart
  2. zezwolić użytkownikowi MySQL , na przykład root, na łączenie się przez zdalny interface:
    1. mysql -u root -p
    2. GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "podaj_haslo"; (zamiast podaj_hasło wpisz hasło użytkownika root)
    3. exit;

I to wszystko. Od tego momentu, użytkownik root MySQL może łączyć się zdalnie z serwerem.