docker 迁移/var/lib/docker/overlay2导致 /tmp Permission denied 问题修复
docker logs -f mysql 日志如下提示 Permission denied 错误.
1 2025-07-01T02:14:53.813877Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2 mysqld: Can't create/write to file '/tmp/ibhYO6M8' (OS errno 13 - Permission denied) 3 2025-07-01T02:14:54.201713Z 1 [ERROR] [MY-012576] [InnoDB] Unable to create temporary file inside "/tmp"; errno: 13 4 2025-07-01T02:14:54.201742Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error. 5 2025-07-01T02:14:54.201777Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine 6 2025-07-01T02:14:54.201969Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 7 2025-07-01T02:14:54.202002Z 0 [ERROR] [MY-010119] [Server] Aborting
晚上加班脑袋糊涂,一直以为是主机的 /tmp没权限,主机执行 chmod 1777 /tmp 无效。
直接找到 overlay2 目录执行
#chmod 1777 ./{容器Id}/diff/tmp
chmod 1777 ./e284dc4e33b837c00dc256b925599ce2e3c24ec458c044f27051dc82ae5d44cc/diff/tmp
重启 docker 服务,重启docker 容器,正常。
折腾一晚上,睡觉早上起来头脑清新,半小时搞定。昨晚上折腾一晚上都没搞好,还是不能加班。。。
浙公网安备 33010602011771号