Mit diesem Befehl können Sie alle globalen Variablen ermitteln. mysql> SHOW GLOBAL VARIABLES;
Arun211
38
Der beste Weg, um tatsächlich zu wissen, welche Anwendung auf welcher Schnittstelle und an welchem Port empfangsbereit istnetstat
Sie können dies als root tun :
netstat -tlnp
Es werden alle Hördienste wie folgt aufgelistet:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 25934/mysqld
tcp6 0 0 :::22 :::* LISTEN 7964/dropbear
In der letzten Spalte sehen Sie, dass sich mysqld an den Port 3306 gebunden hat, der alle Schnittstellen überwacht.
In der Tat funktioniert dies für alles, nicht nur für MySQL. Sie können es auch ohne TCP-Sockets verwenden.
Dieser Befehl kann Ihnen eine PID geben, wenn die Portnummer die Standardnummer 3306 ist. Original Poster (OP) hatte eine andere als die Standardnummer.
Kubanczyk
Ich habe ein Beispiel gegeben. Sie können 3306 durch jeden anderen Port ersetzen. In diesem Fall ist der 3307.Command jedoch richtig.
Antworten:
Ich tat
Und das zeigt an, dass ich verwendet habe
port 3306
und dass meine Suche nach dem Fehler fortgesetzt wird.quelle
Der beste Weg, um tatsächlich zu wissen, welche Anwendung auf welcher Schnittstelle und an welchem Port empfangsbereit ist
netstat
Sie können dies als root tun :
Es werden alle Hördienste wie folgt aufgelistet:
In der letzten Spalte sehen Sie, dass sich mysqld an den Port 3306 gebunden hat, der alle Schnittstellen überwacht.
In der Tat funktioniert dies für alles, nicht nur für MySQL. Sie können es auch ohne TCP-Sockets verwenden.
quelle
lsof -i TCP
.Geben Sie über Terminal zu MySQL:
mysql -u root
und geben Sie dann Folgendes in die mysql-Eingabeaufforderung ein:
mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';
Das hat bei mir funktioniert.
quelle
MySQL verwendet standardmäßig Port 3306, es sei denn, Sie geben eine andere Zeile in der
/etc/my.cnf
Konfigurationsdatei an.Es sei denn, Ihr
/etc/my.cnf
enthält so etwasDann ist es sehr wahrscheinlich, dass Sie den Standardport verwenden.
quelle
Wenn Sie wirklich bestätigen möchten, dass es auf dem Port ausgeführt wird, können Sie in den Port telneten, während der Prozess wie folgt abläuft:
Es wird angezeigt, dass Sie mit mySQL verbunden sind.
Alternativ können Sie die PID des Prozesses mit ps und grep ermitteln:
und dann diese pid in lsof, um alle offenen Dateideskriptoren auszudrucken. Sie finden den Port, an den der Prozess gebunden ist, fast oben.
quelle
Eine alternative Methode zu den bereits aufgelisteten (und nicht so gut, aber hey, es funktioniert).
Die Zeile uid 27 ist der Listening-Socket des mysqld-Prozesses, und 0CEA ist hexadezimal für 3306.
quelle
Ok, das funktioniert auf meiner Linux-Box, aber ich bin nicht sicher, ob Unix die cnf-Datei am selben Ort speichern wird.
cat /etc/mysql/my.cnf | grep 'port'
quelle
Sie können versuchen, das MySQL-Protokoll zu verfolgen. Versuchen Sie, es auszuführen
beim Neustart von MySQL durch
auf einem anderen ssh terminal / tab. Der Port, an dem er empfangsbereit ist, wird im Protokoll wie folgt angezeigt:
quelle
Die obigen Befehle haben mir auf meinem Mac nicht geholfen.
Früher
lsof -i TCP:3306
habe ich den mysqld-Prozess herausgefunden. was tatsächlich in * .mysql lauschtequelle
sudo lsof -i :3306
.