Auf den MySQL-Server kann von einem Remote-Computer aus nicht zugegriffen werden

14

Ich habe MySQL Server auf meinem lokalen Ubuntu Server (11.10) installiert. Ich kann von einem Remotecomputer keine Verbindung zum Server herstellen.

Als ich versuchte: - nmap localhost , zeigt es das folgende

PORT STATE SERVICE
22 / tcp open ssh
80 / tcp open http
139 / tcp open netbios-ssn
445 / tcp open microsoft-ds
631 / tcp open ipp
3306 / tcp MySQL öffnen

Das bedeutet, dass 3306der MySQL-Port offen ist, oder? Aber als ich versuchte nmap 192.168.0.50, welches die Bediener IP ist, erhalte ich das folgende: -

PORT STATE SERVICE
22 / tcp open ssh
80 / tcp open http
139 / tcp open netbios-ssn
445 / tcp open microsoft-ds

Bedeutet dies, dass der Port beim Zugriff über IP nicht geöffnet ist? Wenn ja, wie öffne ich den Port?

Ich hatte den folgenden Code ausprobiert, aber anscheinend hat es nicht funktioniert.

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Was ist hier falsch?

Sparky
quelle

Antworten:

22

Ihr MySQL-Dienst muss nur localhost bedienen (Schnittstellenbindung). Dies ist aus Sicherheitsgründen die Standardeinstellung. Wenn Sie wirklich direkt von anderen Hosts darauf zugreifen müssen, gibt es eine nette Anleitung, wie Sie den Remotezugriff auf MySQL unter Ubuntu aktivieren können :

  1. als root, öffnen Sie Ihre /etc/mysql/my.cnfoder /etc/mysql/mysql.conf.d/mysqld.cnf mit Ihrem bevorzugten Editor, wie auf verschiedenen Systemen es gefunden wird , anders zu sein.
  2. Suchen Sie nach dem [mysqld]Abschnitt und dort nach dem bind-addressSchlüsselwort. Dies ist normalerweise so eingestellt, dass 127.0.0.1- dies Ihrer "normalen" IP-Adresse entspricht
  3. speichere die Datei und lade den Dienst neu (zB mit service mysql restart)

Denken Sie daran, dass Sie Ihren Remotebenutzern den Zugriff auf ihre Datenbank (en) von Remotestandorten aus ermöglichen müssen, indem Sie die entsprechenden GRANTs festlegen - z

GRANT ALL ON mydb.* TO remoteuser@'%' IDENTIFIED BY 'SomePASSWORD';

Beachten Sie das @'%', was "von jedem Host" bedeutet.

Izzy
quelle
Freut mich zu lesen - und Sie sind herzlich willkommen!
Izzy
Link ist kaputt :(
Dino
2
@dino Nicht mehr. Ich habe das behoben und auch einen Auszug beigefügt, sodass die erforderlichen Schritte immer noch vorhanden sind, wenn es erneut stirbt. Mein schlechtes tat ich nicht von Anfang an - aber wie Sie am Zeitstempel sehen können, war das eine meiner frühen Antworten. Wir alle lernen :)
Izzy
2
Das Feld /etc/mysql/mysql.conf.d/mysqld.cnffür die Bindeadresse befand sich für mein System unter.
Eric G
@EricG Danke für den Hinweis. Meine Antwort war vor 5 Jahren, also haben sich die Einstellungen ein wenig geändert (und sind wahrscheinlich modularer geworden).
Izzy