sql >> Databasteknik >  >> RDS >> Mysql

Misslyckas med att initiera MySQL-databasen på Windows 10

Inaktivera AIO

Detta fixade det för mig när jag fick AIO-felet som du gjorde när jag startade en behållare från ett gäst Debian OS från Virtualbox och skapade databasfilerna i en delad mapp i Windows 10.

Problemet verkar vara att AIO inte stöds på delade mappar, eller åtminstone på vissa versioner av Windows. Det verkar ha inträffat för mig efter att jag flyttade från Windows 10 Pro till Home efter att min huvudmaskin kraschade.

För mer information:

Här är några alternativ:

Alternativ 1 - starta behållaren så här:

docker run -it mysql --innodb_use_native_aio=0

Alternativ 2 - lägg till kommandot i din docker-compose-fil:

 command: --innodb_use_native_aio=0

I sammanhanget är detta den relevanta delen av min fungerande 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

Alternativ 3 -- lägg till ett alternativ i din my.cnf-fil i din build

innodb_use_native_aio=0

Alternativ 4 - Behåll inte din DB på det lokala filsystemet.(Kan förstöra din db, rekommenderas inte)

Ta helt enkelt bort volymen i din docker-konfiguration som innehåller din mysql db. Naturligtvis kommer din DB att raderas om du gör en docker-compose down eller på annat sätt förstör din behållare, så det är det.



  1. SQL VARCHAR Datatyp Göra och inte göra för snabbare databaser

  2. Prestanda för MYSQL IN

  3. Distribuera MySQL relationsdatabaser på Ubuntu 12.04 (Precis Pangolin)

  4. Timeout-inställning för SQL Server