这似乎没有太具体,但不知怎的,我找不到其他人有这个问题(至少在堆栈和谷歌)。人们对errcode 2有问题,但我所看到的每件事都是人们在使用mysql的tmp目录时遇到问题。我试过改变它,但没有运气。
我还确保了mysql" datadir"的所有者/组。是mysql。
我假设这是因为我最近将mysql datadir移动到我的/ssd
目录。
我在将/var/lib/mysql
复制到/ssd
并重新启动mysql后更改了datadir位置。
对于/var/lib/mysql
,我将mysql文件夹重命名为mysql-old,因为该文件夹已不再使用。为了以防万一,我创建了一个代替它的符号链接,指向/ssd/mysql
目录。
对于上下文,我试图导入一个sql文件,它似乎无法自己创建数据或目录。这是完整的错误:
ERROR 1 (HY000) at line 33: Can't create/write to file '/var/lib/mysql/changelog/changelog.MYI' (Errcode: 2)
在这种情况下,我尝试导入名为changelog
即使完全更改了datadir之后,它似乎仍然想要写入/var/lib/mysql
- 为什么会这样?
答案 0 :(得分:0)
您可以尝试查看/ etc / mysql /中my.cnf或mysqld.cnf中的[mysqld]部分 这可能是由于太多文件被打开或tmp目录没有您的用户权限。 http://alvinalexander.com/mysql/mysql-cant-create-write-file-error-message
答案 1 :(得分:0)
尝试创建新数据库时遇到类似错误消息。最终的解决方案是卸载mysql,然后重新安装。一切都很好。文件中存在一些损坏,导致了errno2。