1. Einführung in die PID-DateiDie PID-Datei in MySQL zeichnet die PID des aktuellen MySQLD-Prozesses auf. Die PID wird auch als Prozess-ID bezeichnet. Der PID-Dateipfad und -dateiname können über den Parameter pid-file konfiguriert werden. Wenn diese Variable nicht angegeben ist, lautet die PID-Datei standardmäßig host_name.pid und wird standardmäßig im MySQL-Datenverzeichnis gespeichert. Es wird empfohlen, den PID-Dateinamen und -Pfad anzugeben und die Berechtigungen für das PID-Verzeichnis an den MySQL-Systembenutzer freizugeben. Die spezifische Konfiguration kann wie folgt abgerufen werden: # my.cnf Konfigurationsdatei [mysqld] pid-Datei = /data/mysql/tmp/mysqld.pid # Den mysqld-Prozess anzeigen [root@localhost ~]# ps -ef | grep mysqld root 8670 1 0 Jun09 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data/mysql/tmp/mysqld.pid mysql 9353 8670 0 Jun09 ? 00:01:23 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/logs/error.log --pid-file=/data/mysql/tmp/mysqld.pid --socket=/data/mysql/tmp/mysql.sock # Den Inhalt der PID-Datei anzeigen [root@localhost ~]# cat /data/mysql/tmp/mysqld.pid 9353 Sie können sehen, dass die PID-Datei nur eine Zeile enthält, die die ID des MySQL-Prozesses aufzeichnet. Nachdem der mysqld-Prozess gestartet wurde, wird über die Funktion create_pid_file eine neue PID-Datei erstellt, die aktuelle Prozessnummer wird über getpid () abgerufen und die Prozess-ID wird in die PID-Datei geschrieben. Nachdem der Prozess ausgeführt wurde, wird der PID-Datei eine Dateisperre hinzugefügt. Nur der Prozess, der die Berechtigung zum Schreiben der PID-Datei erhalten hat, kann normal starten und seine eigene PID in die Datei schreiben. Andere redundante Prozesse desselben Programms werden automatisch beendet. Der Zweck der PID-Datei besteht also darin, zu verhindern, dass mehrere Kopien eines Prozesses gestartet werden. Manchmal kann es aufgrund von Problemen mit PID-Dateien zu Startfehlern kommen. Möglicherweise sind Ihnen die folgenden Fehlertypen begegnet: Server kann nicht gestartet werden: PID-Datei kann nicht erstellt werden: Keine solche Datei oder kein solches Verzeichnis FEHLER! Die PID-Datei des MySQL-Servers konnte nicht gefunden werden FEHLER! Der Server wurde beendet, ohne die PID-Datei zu aktualisieren Die Lösungen für die oben genannten Arten von PID-bezogenen Fehlern sind eigentlich ähnlich. Sehen Sie sich zuerst das Fehlerprotokoll an, um den spezifischen Fehler zu finden, und überprüfen Sie dann die Konfigurationsdatei, um sicherzustellen, dass der Verzeichnispfad der PID-Datei korrekt ist und über Berechtigungen und Speicherplatz verfügt. Dann können Sie überprüfen, ob der mysqld-Prozess vorhanden ist. Wenn er vorhanden ist, können Sie ihn manuell beenden. Wenn noch PID-Dateien vorhanden sind, können Sie diese auch zuerst löschen. Nachdem alles überprüft wurde, starten Sie erneut, was normalerweise erfolgreich ist. 2. Einführung in Socket-DateienSocket ist eine Unix-Socket-Datei. Auf Unix-ähnlichen Plattformen gibt es für einen Client zwei Möglichkeiten, eine Verbindung zu einem MySQL-Server herzustellen: TCP/IP und Socket-Datei. Unix-Socket-Dateiverbindungen sind schneller als TCP/IP, können aber nur für Verbindungen mit Servern auf demselben Computer verwendet werden. Der Socket-Dateipfad und -name können durch Festlegen der Socket-Variable konfiguriert werden. Der Standardwert ist /tmp/mysql.sock (das Verzeichnis kann bei einigen Distributionsformaten anders sein). Die Referenzkonfiguration sieht wie folgt aus: # my.cnf Konfigurationsdatei [mysqld] Socket = /data/mysql/tmp/mysql.sock [Kunde] Socket = /data/mysql/tmp/mysql.sock # Zeigen Sie die Socket-Datei im entsprechenden Verzeichnis root@localhost tmp]# ls -lh an insgesamt 8.0K srwxrwxrwx 1 mysql mysql 0 Juni 10 15:19 mysql.sock -rw------ 1 mysql mysql 6. Juni 10 15:19 mysql.sock.lock # Socket-Login per -S-Befehl angeben [root@localhost ~]# mysql -uroot -pxxxx -S /data/mysql/tmp/mysql.sock mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein. Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 12 Serverversion: 8.0.22 MySQL Community Server – GPL Copyright (c) 2000, 2020, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen Eigentümer. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. mysql> Status -------------- mysql Ver 8.0.22 für Linux auf x86_64 (MySQL Community Server – GPL) Verbindungs-ID: 12 Aktueller Datenbestand: Aktueller Benutzer: root@localhost SSL: Nicht in Verwendung Aktueller Pager: stdout Outfile wird verwendet: '' Trennzeichen verwenden: ; Serverversion: 8.0.22 MySQL Community Server – GPL Protokollversion: 10 Verbindung: Localhost über UNIX-Socket Server-Zeichensatz: utf8mb4 Db-Zeichensatz: utf8mb4 Client-Zeichensatz: utf8mb4 Conn.-Zeichensatz: utf8mb4 UNIX-Socket: /data/mysql/tmp/mysql.sock Binärdaten als: Hexadezimal Betriebszeit: 1 Stunde 27 Minuten 31 Sekunden Threads: 3 Fragen: 27 Langsame Abfragen: 0 Öffnungen: 135 Tabellen leeren: 3 Offene Tabellen: 56 Durchschnittliche Abfragen pro Sekunde: 0,005 Aus dem obigen Verbindungsstatus können wir erkennen, dass MySQL lokal über einen Socket verbunden werden kann. Wenn beim lokalen Anmelden der Abschnitt [client] in der Konfigurationsdatei my.cnf keinen Socket-Dateipfad angibt, sucht MySQL standardmäßig nach /tmp/mysql.sock. Wenn sich die beim Starten des mysqld-Dienstes generierte Socket-Datei daher nicht im Standardpfad befindet, kann die Anmeldung fehlschlagen (FEHLER 2002 (HY000): Verbindung zum lokalen MySQL-Server über Socket '/tmp/mysql.sock' nicht möglich). Tatsächlich können Sie dieses Problem vermeiden, indem Sie in den Teilen [mysqld] und [client] bestimmte Pfade konfigurieren. Sie können auch einen Softlink im temporären Pfad erstellen, beispielsweise: ln -s /data/mysql/tmp/mysql.sock /tmp/mysql.sock. Ebenso müssen dem MySQL-Systembenutzer die Berechtigungen für das Socket-Dateiverzeichnis erteilt werden. Zusammenfassen:Dieser Artikel stellt die spezifische Konfiguration und Funktion von PID- und Socket-Dateien in MySQL vor. Tatsächlich sind diese beiden Parameter relativ einfach zu verwalten. Konfigurieren Sie sie einfach am Anfang und ändern Sie sie nicht. Wenn beim Neustart ein Fehler auftritt, überprüfen Sie langsam das Fehlerprotokoll. Wenn Sie sorgfältig vorgehen, werden Sie das Problem immer finden. Oben finden Sie eine ausführliche Erläuterung zu PID und Socket in MySQL. Weitere Informationen zu MySQL PID und Socket finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So starten Sie ein Vue-Projekt mit dem M1 Pro-Chip
>>: Detaillierte Erklärung der CSS-Stil-Kaskadierungsregeln
Die Betriebsumgebung dieses Tutorials: Windows 7-...
In MySQL können alle Felder der Typen char, varch...
Wie unten dargestellt: Kopieren Sie die Dateien d...
Inhaltsverzeichnis 1. Installieren und importiere...
Inhaltsverzeichnis Vorwort 1. NJS-Modul installie...
Wie unten dargestellt: Der Testbefehl stellt fest...
MySQL-Datenbank meldet FEHLER 1045 (28000): Zugri...
Win10 + Ubuntu 20.04 LTS Dual-System-Installation...
Das Löschen einer Tabelle kommt nicht sehr häufig...
So fügen Sie ein <script>-Skript in HTML ein...
Manchmal müssen Sie auf einige statische Ressourc...
Inhaltsverzeichnis 1. Übersicht 1. Einführung ins...
Bereitstellen einer Datenbank basierend auf Docke...
Vorwort Beim Sichern der Datenbank wird eine voll...
Inhaltsverzeichnis Vorwort Den Grundstein legen P...