sql >> Database >  >> RDS >> Mysql

Kan MySQL-database niet initialiseren op Windows 10

AIO uitschakelen

Dit loste het voor mij op toen ik de AIO-fout kreeg, zoals jij deed toen ik een container startte vanuit een gast Debian OS vanuit Virtualbox en de databasebestanden aanmaakte in een gedeelde map op Windows 10.

Het probleem lijkt te zijn dat AIO niet wordt ondersteund op gedeelde mappen, of in ieder geval op sommige versies van Windows. Het lijkt bij mij te zijn opgetreden nadat ik van Windows 10 Pro naar Home was verhuisd nadat mijn hoofdcomputer was gecrasht.

Voor details:

Hier zijn enkele opties:

Optie 1 - start de container als volgt:

docker run -it mysql --innodb_use_native_aio=0

Optie 2 - voeg de opdracht toe aan je docker-compose-bestand:

 command: --innodb_use_native_aio=0

In context, dit is het relevante deel van mijn werkende 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

Optie 3 -- voeg een optie toe aan je my.cnf-bestand in je build

innodb_use_native_aio=0

Optie 4 - Bewaar uw DB niet op het lokale bestandssysteem. (Kan uw db vernietigen, niet aanbevolen)

Verwijder eenvoudig het volume in uw docker-configuratie dat uw mysql db bevat. Natuurlijk wordt je DB verwijderd als je een docker-compose uitvoert of je container op een andere manier vernietigt, dus dat is het.



  1. SQLite-queryresultaten opmaken als een HTML-tabel

  2. Mysqli-query met een SET-variabele-instructie (dwz meerdere query's)

  3. Oracle PL/SQL Bulk Collect met uitzonderingen opslaan Voorbeeld

  4. Een meer geavanceerd model maken met gebruikers-, thread- en poststatussen