AIOを無効にする
これにより、VirtualboxからゲストDebian OSからコンテナーを起動し、Windows 10の共有フォルダーにデータベースファイルを作成したときと同じように、AIOエラーが発生したときに修正されました。
問題は、AIOが共有フォルダー、または少なくとも一部のバージョンのWindowsではサポートされていないことのようです。メインマシンがクラッシュした後、Windows10ProからHomeに移動した後に発生したようです。
詳細:
いくつかのオプションがあります:
オプション1-次のようにコンテナを起動します:
docker run -it mysql --innodb_use_native_aio=0
オプション2-コマンドをdocker-composeファイルに追加します:
command: --innodb_use_native_aio=0
コンテキストでは、これは私の作業中の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
オプション3-ビルドのmy.cnfファイルにオプションを追加します
innodb_use_native_aio=0
オプション4-ローカルファイルシステムにDBを永続化しないでください(データベースを破壊する可能性があります。推奨されません)
mysqlデータベースを含むDocker構成のボリュームを削除するだけです。もちろん、docker-composeを実行するか、そうでなければコンテナを破棄すると、DBは削除されるので、それがあります。