安装MySQL:latest容器镜像遇MY-011092错误,请求解析原因
MySQL容器启动数据字典错误原因及解决办法
错误原因
日志里的[MY-011092] 不支持从数据字典版本'0'进行升级是核心问题,说明你的MySQL容器挂载的本地数据目录存在以下情况之一:
- 目录里有残留的无效文件,但不是完整的8.x版本数据字典
- 数据目录来自MySQL 5.7及更低版本,8.0+的数据字典结构完全重构,不支持这种直接跨大版本升级
- 本地目录权限错误,导致MySQL无法正确初始化或读取数据字典文件
解决办法
- 首次部署(无需保留旧数据):直接删除挂载的本地数据目录,重启容器即可。Docker会自动生成全新的8.1.0版本数据字典。
- 需要迁移旧版本数据:
- 先在旧MySQL实例导出全量数据:
mysqldump -u root -p --all-databases --add-drop-database > backup.sql - 删除现有容器和本地挂载目录,重新启动MySQL 8.x容器完成初始化
- 将备份文件导入新容器:
docker exec -i <你的容器名称> mysql -u root -p < backup.sql
- 先在旧MySQL实例导出全量数据:
- 修复目录权限:确保本地数据目录的属主是
mysql用户(Docker内MySQL用户UID/GID为999),执行命令修正:chown -R 999:999 /你的本地数据目录路径
错误日志原文
[Entrypoint] MySQL Docker Image 8.1.0-1.2.13-server [Entrypoint] 启动MySQL 8.1.0-1.2.13-server [System] [MY-015015] [Server] MySQL Server - start. [Warning] [MY-011068] [Server] 语法'--skip-host-cache'已被弃用,将在未来版本中移除,请改用SET GLOBAL host_cache_size=0。 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.1.0) 以进程1启动 [System] [MY-013576] [InnoDB] InnoDB初始化已开始。 [System] [MY-013577] [InnoDB] InnoDB初始化已完成。 [ERROR] [MY-011092] [Server] 不支持从数据字典版本'0'进行升级。 [ERROR] [MY-010020] [Server] 数据字典初始化失败。 [ERROR] [MY-010119] [Server] 正在终止 [System] [MY-010910] [Server] /usr/sbin/mysqld: 关闭完成 (mysqld 8.1.0) MySQL Community Server - GPL. [System] [MY-015016] [Server] MySQL Server - end.
内容的提问来源于stack exchange,提问作者JakeUT
相关产品推荐
相关产品推荐

