Docker MySQL wird nicht ausgeführt

王林
Freigeben: 2023-05-13 13:16:37
Original
867 Leute haben es durchsucht

Docker ist eine Open-Source-Containerisierungsplattform, die Entwicklern hilft, Anwendungen einfacher zu erstellen, bereitzustellen und auszuführen.

MySQL ist ein weit verbreitetes relationales Datenbankverwaltungssystem und eines der beliebtesten Images auf Docker Hub. Wenn Sie jedoch Docker zum Ausführen von MySQL verwenden, treten manchmal Probleme auf, z. B. dass MySQL nicht ausgeführt wird.

In diesem Artikel werden wir die Gründe untersuchen, warum Docker MySQL nicht ausgeführt wird, und wie wir das Problem lösen können.

Ursachenanalyse

  1. MySQL-Server ist nicht korrekt installiert

Wenn Sie MySQL in Docker ausführen, können Sie das feststellen Der MySQL-Server ist nicht korrekt installiert. Dies kann daran liegen, dass der Docker-Container das MySQL-Image nicht korrekt herunterlädt.

Um dieses Problem zu lösen, können Sie den folgenden Befehl verwenden, um das MySQL-Image herunterzuladen:

docker pull mysql:latest
Nach dem Login kopieren
  1. MySQL-Server ist nicht richtig konfiguriert
  2. # ## #Auch wenn der MySQL-Server korrekt installiert ist, kann es zu Konfigurationsproblemen kommen. Wenn der MySQL-Server beispielsweise nicht richtig konfiguriert ist, kann es sein, dass er nicht gestartet werden kann, was dazu führt, dass er nicht ausgeführt werden kann.

Um dieses Problem zu lösen, können Sie den folgenden Befehl verwenden, um den MySQL-Server im Docker-Container zu starten:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:tag
Nach dem Login kopieren

Wobei PASSWORD Ihr MySQL-Root-Passwort und Tag ist diejenige, die Sie als MySQL-Versionsbezeichnung verwenden möchten.

Problem mit den Berechtigungen für das Datenbank-Mounting-Verzeichnis
  1. Wenn beim Ausführen des MySQL-Servers in Docker die Berechtigungen für das Datenbank-Mounting-Verzeichnis nicht richtig konfiguriert sind, kann es dazu kommen passieren auch Führt dazu, dass MySQL nicht ausgeführt wird.

Um dieses Problem zu lösen, können Sie den folgenden Befehl verwenden, um den Docker-Container zu starten und die Berechtigungen des Datenbank-Mounting-Verzeichnisses zu konfigurieren:

docker run --name mysql -v /your/data/dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:tag --default-authentication-plugin=mysql_native_password
Nach dem Login kopieren

Unter ihnen /your/data /dir ist das, was Sie konfigurieren möchten. Das Datenbank-Mounting-Verzeichnis, PASSWORD ist Ihr MySQL-Root-Passwort und tag ist das MySQL-Versions-Tag, das Sie verwenden möchten.

Lösung

Überprüfen Sie, ob das MySQL-Image korrekt installiert ist.
  1. Wie bereits erwähnt, ob das MySQL-Image korrekt installiert ist nicht korrekt installiert. Die Installation kann dazu führen, dass MySQL nicht ausgeführt wird. Mit dem folgenden Befehl können Sie überprüfen, ob das MySQL-Image korrekt installiert ist:
docker images | grep mysql
Nach dem Login kopieren

Wenn in der Ausgabe ein MySQL-String enthalten ist, ist das MySQL-Image korrekt installiert.

Verwenden Sie das richtige Versions-Tag.
  1. Wenn Sie ein nicht unterstütztes MySQL-Versions-Tag verwenden, kann es dazu führen, dass MySQL nicht ausgeführt wird. Um dieses Problem zu beheben, können Sie den folgenden Befehl verwenden, um die aktuell verfügbaren Versions-Tags anzuzeigen:
docker search mysql
Nach dem Login kopieren

Starten Sie dann den MySQL-Container mit den unterstützten Versions-Tags.

MySQL-Serverstatus prüfen
  1. Wenn der MySQL-Server nicht gestartet ist, kann keine Abfrage ausgeführt werden. Um zu überprüfen, ob der MySQL-Server ordnungsgemäß funktioniert, können Sie den folgenden Befehl verwenden:
docker ps -a
Nach dem Login kopieren

Wenn der MySQL-Container nicht läuft, können Sie den folgenden Befehl verwenden, um den MySQL-Container zu starten:

docker start mysql
Nach dem Login kopieren

# #Überprüfen Sie das Datenbank-Mounting-Verzeichnis

  1. Wenn das Datenbank-Mounting-Verzeichnis des MySQL-Containers nicht korrekt konfiguriert ist, schlägt die Ausführung fehl. Mit dem folgenden Befehl können Sie überprüfen, ob das Datenbank-Mounting-Verzeichnis korrekt konfiguriert ist:
  2. docker inspect mysql
    Nach dem Login kopieren
Wenn das Datenbank-Mounting-Verzeichnis nicht richtig konfiguriert ist, können Sie den MySQL-Container mit dem folgenden Befehl neu starten: # #
docker stop mysql docker rm mysql docker run --name mysql -v /your/data/dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:tag --default-authentication-plugin=mysql_native_password
Nach dem Login kopieren
# #Unter diesen ist /your/data/dir das Datenbank-Mounting-Verzeichnis, das Sie konfigurieren möchten, PASSWORD ist Ihr MySQL-Root-Passwort und tag ist das MySQL-Versions-Tag, das Sie verwenden möchten.

Fazit

Es kann viele Gründe für das Auftreten von Nichtausführungsproblemen beim Ausführen von Docker MySQL geben, einschließlich falscher Installation des MySQL-Servers, falscher Konfiguration des Servers, Berechtigungsproblemen, usw. Um dieses Problem zu beheben, können Sie die in diesem Artikel bereitgestellte Problemumgehung verwenden. Gleichzeitig müssen Sie auch auf das Erlernen und Praktizieren der Containerisierungstechnologie achten und professionelle technische Fähigkeiten entwickeln, um Docker besser zum Aufbau Ihrer eigenen Softwareentwicklungsumgebung nutzen zu können.

Das obige ist der detaillierte Inhalt vonDocker MySQL wird nicht ausgeführt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
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!