Heim > Datenbank > MySQL-Tutorial > Hauptteil

Erfahren Sie, wie Sie den MySQL-Dienst 2 starten und stoppen

Y2J
Freigeben: 2017-05-23 14:44:03
Original
1520 Leute haben es durchsucht

3. Stoppen Sie den Server
Um den Server manuell zu starten, verwenden Sie MySQLadmin:

%mysqladmin Shutdown

Um den Server automatisch zu stoppen, müssen Sie nichts Besonderes tun . BSD-Systeme stoppen Dienste normalerweise, indem sie ein TERM-Signal an Prozesse senden, die entweder korrekt darauf reagieren oder grob beendet werden. mysqld reagiert, indem es beendet wird, wenn es dieses Signal empfängt. Bei System-V-Systemen, die mysql.server zum Starten des Servers verwenden, ruft der Stop-Prozess das Skript mit einem Stop-Parameter auf, um den Server anzuweisen, zu beenden, vorausgesetzt natürlich, dass Sie mysql.server installiert haben.

4. So erlangen Sie die Kontrolle über den Server zurück, wenn Sie keine Verbindung zum Server herstellen können

In einigen Fällen können Sie den Server manuell neu starten, weil Sie keine Verbindung zu ihm herstellen können. Das ist natürlich ein bisschen widersprüchlich. Denn im Allgemeinen schalten Sie es manuell aus, indem Sie eine Verbindung zum Server herstellen. Wie passiert das?

Erstens kann das MySQL-Root-Passwort auf einen Wert festgelegt sein, den Sie nicht kennen. Dies kann passieren, wenn Sie das Passwort ändern, beispielsweise wenn Sie bei der Eingabe des neuen Passworts versehentlich ein unsichtbares Steuerzeichen eingeben . Möglicherweise vergessen Sie auch Ihr Passwort.

Zweitens erfolgt die Verbindung zu localhost normalerweise über eine Unix-Domain-Socket-Datei, normalerweise /tmp/mysql.sock. Wenn die Socket-Datei gelöscht wird, können lokale Clients keine Verbindung herstellen. Dies kann passieren, wenn Ihr System einen Cron-Job ausführt, der temporäre Dateien in /tmp löscht.

Wenn Sie keine Verbindung herstellen können, weil Sie die Socket-Datei verloren haben, können Sie sie einfach durch einen Neustart des Servers neu erstellen. Weil der Server es beim Start neu erstellt. Der Trick hierbei ist, dass Sie keine Verbindung mit dem Socket herstellen können, da dieser nicht mehr vorhanden ist. Sie müssen eine TCP/IP-Verbindung herstellen. Wenn der Server-Host beispielsweise pit.snake.net ist, können Sie die Verbindung folgendermaßen herstellen:

% mysqladmin -p -u root -h pit.snake.net Shutdown

Wenn die Socket-Datei durch einen Cron-Task gelöscht wird, tritt das Problem erneut auf, es sei denn, Sie ändern den Cron-Task oder verwenden einen Wenn Sie eine andere Socket-Socket-Datei verwenden, können Sie die globale Optionsdatei verwenden, um einen anderen Socket anzugeben. Wenn das Datenverzeichnis beispielsweise /usr/local/var ist, können Sie den Socket ändern, indem Sie die folgende Zeile zu /etc/my.cnf hinzufügen Verschieben Sie die Datei dorthin:

[mysqld]
socket=/usr/local/var/mysql.sock

[client]
socket=/usr/local/var/ mysql.sock
Geben Sie den Pfadnamen sowohl für den Server als auch für den Client an, damit beide dieselbe Socket-Datei verwenden. Wenn Sie nur den Pfad für den Server festlegen, erwartet der Client weiterhin, dass er den Socket am ursprünglichen Speicherort ausführt und den Server nach der Änderung neu startet, wodurch er den Socket am neuen Speicherort erstellt.

Wenn Sie keine Verbindung herstellen können, weil Sie Ihr Root-Passwort vergessen oder es auf einen anderen Wert eingestellt haben als gedacht, und Sie die Kontrolle über den Server wiedererlangen müssen, können Sie das Passwort erneut festlegen:



Unterbrechen Sie den Server

Wenn Sie sich beim Server-Host als Root anmelden, können Sie den Kill-Befehl verwenden, um den Server zu beenden. Sie können die Serverprozess-ID mit dem Befehl ps herausfinden oder indem Sie nach der PID-Datei des Servers suchen (normalerweise im Datenverzeichnis).

Versuchen Sie am besten zunächst einen normalen Kill, der ein TERM-Signal an den Server sendet, um zu sehen, ob dieser mit einer normalen Beendigung reagiert. Auf diese Weise werden Tabellen und Protokolle korrekt gelöscht. Wenn der Server blockiert und nicht auf ein ordnungsgemäßes Beendigungssignal reagiert, können Sie die Beendigung mit kill -9 erzwingen. Dies ist der letzte Ausweg, da es möglicherweise nicht gelöschte Änderungen gibt und Sie riskieren, die Tabelle in einem inkonsistenten Zustand zu hinterlassen.

Wenn Sie den Server mit kill -9 beenden, überprüfen Sie unbedingt Ihre Tabellen mit myisamchk und isamchk, bevor Sie den Server starten.​
​ Verwenden Sie die Option --skip-grant-table, um den Server neu zu starten.
Dadurch wird der Server angewiesen, die Autorisierungstabelle nicht zur Authentifizierung der Verbindung zu verwenden, sodass Sie sich als Root ohne Passwort verbinden können. Nachdem Sie verbunden sind, ändern Sie das Root-Passwort.
Verwenden Sie die Flush-Privilegien von mysqladmin, um den Server anzuweisen, die Autorisierungstabelle erneut zu verwenden.
Wenn Ihre Version von mysqladmin keine Flash-Privilegien erkennt, versuchen Sie es mit einem Neuladen.

5. Mehrere Server ausführen

Die meisten werden einen einzelnen MySQL-Server auf einem bestimmten Computer ausführen, aber es gibt viele Situationen, in denen es nützlich ist, mehrere Server auszuführen:

Möglicherweise möchten Sie eine neue Version eines Servers testen, während Ihr Produktionsserver weiter läuft. In diesem Fall würden Sie einen anderen Servercode ausführen.​
​ Betriebssysteme begrenzen im Allgemeinen die Anzahl offener Dateihandles pro Prozess. Wenn Ihr System Schwierigkeiten hat, dieses Limit zu erhöhen, ist der Betrieb mehrerer Server eine Möglichkeit, das Limit zu umgehen. In diesem Fall führen Sie möglicherweise mehrere Instanzen des einheitlichen Servers aus.​
​ ISPs stellen ihren Kunden häufig eigene MySQL-Installationen zur Verfügung, bei denen die Einbindung eines separaten Servers erforderlich ist. In diesem Fall können Sie mehrere Instanzen derselben Version oder verschiedener Versionen ausführen, wenn verschiedene Kunden unterschiedliche Versionen von MySQL wünschen.​
​ Natürlich ist der Betrieb mehrerer Server komplizierter als der Betrieb nur eines Servers. Wenn Sie mehrere Versionen installieren, können Sie nicht alles am selben Ort installieren. Wenn ein Server ausgeführt wird, müssen oder werden bestimmte Parameter für jeden Server eindeutig sein. Dazu gehören der Installationsort des Servers, der Pfadname seines Datenverzeichnisses, der TCP/IP-Port und der UNIX-Domänen-Socket-Pfadname, der zum Ausführen des Servers verwendet wird. Das UNIX-Konto des Servers (falls Sie nicht mehr alle Server unter demselben Konto betreiben). Wenn Sie sich entscheiden, mehrere Server zu betreiben, achten Sie unbedingt auf die von Ihnen verwendeten Parameter, damit Sie dies nicht tun.

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie den MySQL-Dienst 2 starten und stoppen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!