Mysql InnoDB初始化警告
我在Windows10上使用docker构建完整的web堆栈(php、nginx、mysql 8)。使用docker编写 docker compose.ymlMysql InnoDB初始化警告,mysql,docker,alpine,Mysql,Docker,Alpine,我在Windows10上使用docker构建完整的web堆栈(php、nginx、mysql 8)。使用docker编写 docker compose.yml 在这里,我使用服务构建web应用程序。但我只向您展示mysql服务 version: '3.8' services: db: build: services/mysql container_name: db image: projects/laradock_mysql:latest
在这里,我使用服务构建web应用程序。但我只向您展示mysql服务
version: '3.8'
services:
db:
build: services/mysql
container_name: db
image: projects/laradock_mysql:latest
env_file: ../.env
restart: on-failure
volumes:
- ./storage/data:/var/lib/mysql
ports:
- 3306:3306
networks:
- sites
networks:
sites:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.100.36.0/24
MySQL DockerFile
FROM mysql:8
COPY conf/my.cnf /etc/mysql/conf.d
EXPOSE 3306
[mysqld]
innodb_flush_method=O_DSYNC
innodb_flush_log_at_trx_commit=0
default-authentication-plugin=mysql_native_password
MySQL配置文件
FROM mysql:8
COPY conf/my.cnf /etc/mysql/conf.d
EXPOSE 3306
[mysqld]
innodb_flush_method=O_DSYNC
innodb_flush_log_at_trx_commit=0
default-authentication-plugin=mysql_native_password
docker撰写时输出日志
2020-06-18T04:40:52.552867Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-06-18T04:40:55.549460Z 1 [Warning] [MY-012579] [InnoDB] fallocate(15, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.568116Z 1 [Warning] [MY-012579] [InnoDB] fallocate(16, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.582720Z 1 [Warning] [MY-012579] [InnoDB] fallocate(17, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.600203Z 1 [Warning] [MY-012579] [InnoDB] fallocate(18, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.614565Z 1 [Warning] [MY-012579] [InnoDB] fallocate(19, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.630446Z 1 [Warning] [MY-012579] [InnoDB] fallocate(20, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.649691Z 1 [Warning] [MY-012579] [InnoDB] fallocate(21, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.666272Z 1 [Warning] [MY-012579] [InnoDB] fallocate(22, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.682022Z 1 [Warning] [MY-012579] [InnoDB] fallocate(23, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:55.698763Z 1 [Warning] [MY-012579] [InnoDB] fallocate(24, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:56.379410Z 1 [Warning] [MY-012579] [InnoDB] fallocate(25, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 16384) returned errno: 22
2020-06-18T04:40:56.384741Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
谢谢你的帮助 我遇到了同样的问题,并在Docker preferences>General中解决了它,并取消选中“Use gRPC FUSE…”选项
perror 22
->操作系统错误代码22:无效参数
。毫无疑问,Windows不支持fallocate。查找禁用此/使用替代变量的innodb系统变量。@9inelemons您是否已解决此问题?为什么?这是什么意思?@ArnoldRoa它将允许docker使用用户空间(FUSE)服务器中的文件系统。例如,如果您使用Windows并正在读取与Linux容器共享的文件,则在读取文件系统时可能会出现问题,如果取消选中此选项,将更正此问题。您可以通过阅读以下链接了解更多信息:--