正常部署了一个 MySQL, 启动的时候报错:
提示的非常明显了:
2024-07-22T10:06:33.438459+08:00 0 [ERROR] InnoDB: Unable to create temporary file; errno: 13
2024-07-22T10:06:33.438638+08:00 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2024-07-22T10:06:33.438894+08:00 0 [ERROR] Plugin 'InnoDB' init function returned error.
2024-07-22T10:06:33.439073+08:00 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2024-07-22T10:06:33.439395+08:00 0 [ERROR] Failed to initialize builtin plugins.
2024-07-22T10:06:33.439845+08:00 0 [ERROR] Aborting
说我临时文件创建失败。
根据他的提示,我在配置文件 my.ini 中添加如下一行
tmpdir = D:/temp
但是这里有两点需要注意的:
- 有的人会从路径中直接复制,复制过来的路径格式是这样的
D:\temp\xxx
在windows中。我不推荐这种方式表示路径,因为 \t 是一个标志, 表示 tab,在编程中,\ 表示转义的意思,后面跟上其他东西可能就不是那个意思了。
所以我推荐两种写法:
D:/temp/xxx
或者
D:\\temp\\xxx
- 你指定的这个文件夹一定要真实存在,如果不存在的话,还是会出现异常的
当然,如果你不想写到配置文件中,通过启动项指定也是可以的:
mysqld --tmpdir=D:/temp
也是可以的。