在我改变了docker的数据目录(即/etc/docker/daemon. json)后,当我试图运行mysql image时,我得到了以下错误
2022-07-13T10:31:27.580551Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.29) initializing of server in progress as process 43
2022-07-13T10:31:27.584905Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-07-13T10:31:27.588941Z 1 [ERROR] [MY-012576] [InnoDB] Unable to create temporary file inside "/tmp"; errno: 13
2022-07-13T10:31:27.588965Z 1 [ERROR] [MY-012929] [InnoDB] InnoDB Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.
2022-07-13T10:31:27.589074Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2022-07-13T10:31:27.589091Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2022-07-13T10:31:27.589141Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-07-13T10:31:27.589437Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.29) MySQL Community Server - GPL.
字符串
2条答案
按热度按时间qoefvg9y1#
“真实的”问题显示在这一行的前面:
字符串
MySQL似乎在写入
/tmp
目录时遇到问题。请检查目录的权限和/或docker配置。修复后,您可以删除上述数据目录(
/var/lib/mysql
)并重试。但请注意,如果您之前在目录中有任何现有的数据库;-)2ekbmq322#
当我在另一台设备上安装ubuntu时,总是遇到这个问题。
解决方法是删除你的docker卷。
尝试运行
docker volume ls
并检查是否有一个已创建的卷。在我的情况下,我已经有一个现有的卷,这就是为什么上次它说/var/lib/mysql
不可用。只需运行
docker volume rm <volume_name>
,然后再次正常运行Docker。希望这对你有帮助。