Desativar AIO
Isso corrigiu para mim quando recebi o erro AIO, como você fez quando eu estava iniciando um contêiner de um sistema operacional Debian convidado do Virtualbox e criando os arquivos de banco de dados em uma pasta compartilhada no Windows 10.
O problema parece ser que o AIO não é suportado em pastas compartilhadas, ou pelo menos em algumas versões do Windows. Parece ter ocorrido para mim depois que mudei do Windows 10 Pro para o Home depois que minha máquina principal travou.
Para detalhes:
Aqui estão algumas opções:
Opção 1 - inicie o contêiner assim:
docker run -it mysql --innodb_use_native_aio=0
Opção 2 - adicione o comando ao seu arquivo docker-compose:
Comando
command: --innodb_use_native_aio=0
No contexto, esta é a parte relevante do meu trabalho 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
Opção 3 -- adicione uma opção ao seu arquivo my.cnf em sua compilação
innodb_use_native_aio=0
Opção 4 - Não persista seu banco de dados no sistema de arquivos local. (Pode destruir seu banco de dados, não recomendado)
Simplesmente remova o volume em sua configuração docker que contém seu banco de dados mysql. Claro, seu banco de dados será excluído se você fizer um docker-compose ou destruir seu contêiner, então é isso.