这似乎不太具体,但不知何故我找不到其他人遇到这个问题(至少在堆栈和谷歌上)。人们对 errcode 2 有问题,但我所看到的每一件事都是人们对 mysql 的 tmp 目录有问题。我尝试过改变这一点,但没有成功。
我还确保 mysql“datadir”的所有者/组是 mysql。
我假设这是因为我最近将 mysql datadir 移至我的 /ssd
目录。
将 /var/lib/mysql
复制到 /ssd
后,我更改了 datadir 位置,并重新启动了 mysql。
对于/var/lib/mysql
,我将 mysql 文件夹重命名为 mysql-old,因为该文件夹不再使用。为了以防万一,我创建了一个符号链接(symbolic link)来代替它,它指向 /ssd/mysql
目录。
对于上下文,我正在尝试导入一个 sql 文件,但它似乎无法自行创建数据或目录。这是完整的错误:
第 33 行出现错误 1 (HY000):无法创建/写入文件“/var/lib/mysql/changelog/changelog.MYI”(错误代码:2)
在本例中,我尝试导入名为 changelog
的数据库
即使完全更改了 datadir 后,它似乎仍然想写入 /var/lib/mysql
- 这是为什么?
最佳答案
您可以尝试查看 my.cnf 中的 [mysqld] 部分或/etc/mysql/中的 mysqld.cnf 这可能是由于打开的文件太多或 tmp 目录没有您的用户的权限。 http://alvinalexander.com/mysql/mysql-cant-create-write-file-error-message
关于MySQL Errcode 2 - 创建数据库目录时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37327544/