Mysql
 sql >> Base de données >  >> RDS >> Mysql

Échec de l'initialisation de la base de données MySQL sous Windows 10

Désactiver AIO

Cela m'a corrigé lorsque j'ai eu l'erreur AIO comme vous l'avez fait lorsque je démarrais un conteneur à partir d'un système d'exploitation Debian invité à partir de Virtualbox et que je créais les fichiers de base de données sur un dossier partagé sous Windows 10.

Le problème semble être que AIO n'est pas pris en charge sur les dossiers partagés, ou du moins sur certaines versions de Windows. Cela semble s'être produit pour moi après que je sois passé de Windows 10 Pro à Home après que ma machine principale se soit écrasée.

Pour plus de détails :

Voici quelques options :

Option 1 - démarrez le conteneur comme ceci :

docker run -it mysql --innodb_use_native_aio=0

Option 2 - ajoutez la commande à votre fichier docker-compose :

Commande
 command: --innodb_use_native_aio=0

Dans le contexte, voici la partie pertinente de mon travail 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 -- ajoutez une option à votre fichier my.cnf dans votre build

innodb_use_native_aio=0

Option 4 - Ne conservez pas votre base de données sur le système de fichiers local. (Peut détruire votre base de données, non recommandé)

Supprimez simplement le volume de votre configuration docker qui contient votre base de données mysql. Bien sûr, votre base de données sera supprimée si vous faites un docker-compose ou détruisez autrement votre conteneur, donc voilà.