Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler beim Initialisieren der MySQL-Datenbank unter Windows 10

AIO deaktivieren

Dies hat es für mich behoben, als ich den AIO-Fehler bekam, wie Sie es getan haben, als ich einen Container von einem Gast-Debian-Betriebssystem von Virtualbox aus gestartet und die Datenbankdateien in einem freigegebenen Ordner unter Windows 10 erstellt habe.

Das Problem scheint zu sein, dass AIO in freigegebenen Ordnern oder zumindest in einigen Windows-Versionen nicht unterstützt wird. Es scheint bei mir aufgetreten zu sein, nachdem ich von Windows 10 Pro zu Home gewechselt bin, nachdem mein Hauptcomputer abgestürzt war.

Einzelheiten:

Hier sind einige Optionen:

Option 1 – Starten Sie den Container wie folgt:

docker run -it mysql --innodb_use_native_aio=0

Option 2 – fügen Sie den Befehl zu Ihrer docker-compose-Datei hinzu:

 command: --innodb_use_native_aio=0

Im Kontext ist dies der relevante Teil meiner funktionierenden docker-compose.yml:

services:
   db:
     image: ${MYSQL_IMAGE}
     command: "--innodb_use_native_aio=0"
     volumes:
       - ${DB_DATA_PATH}:/var/lib/mysql
     ports:
        - ${MYSQL_PORT}:3306

Option 3 – fügen Sie Ihrer my.cnf-Datei in Ihrem Build eine Option hinzu

innodb_use_native_aio=0

Option 4 – Behalten Sie Ihre Datenbank nicht im lokalen Dateisystem bei. (Kann Ihre Datenbank zerstören, nicht empfohlen)

Entfernen Sie einfach das Volume in Ihrer Docker-Konfiguration, das Ihre mysql-Datenbank enthält. Natürlich wird Ihre DB gelöscht, wenn Sie ein Docker-Compose-Down durchführen oder Ihren Container anderweitig zerstören, also das war's.