【问题标题】:MySQL Error 1 (HY000) Trouble creating file Errcode 2MySQL 错误 1 ​​(HY000) 无法创建文件 Errcode 2
【发布时间】:2010-11-02 03:14:16
【问题描述】:

我在为我的 ruby​​ on rails 应用程序创建表时遇到问题。这让我疯狂!当我尝试创建表时返回以下内容:

错误 1 ​​(HY000): 无法创建/写入文件 '/usr/local/mysql/data/test_development/users.MYI' (Errcode: 2)

值得一提的是,我是个新手,顺便说一句。

【问题讨论】:

    标签: mysql database-table


    【解决方案1】:

    这个forum post 似乎处理了同样的问题:

    尝试以下方法:

    1. mkdir /var/lib/mysql/tmp
    2. chown mysql:mysql /var/lib/mysql/tmp
    3. 将以下行添加到 [mysqld] 部分:tmpdir = /var/lib/mysql/tmp
    4. 重启服务器

    【讨论】:

    • 嗨,戴夫,感谢您的回复。不幸的是,这似乎对我不起作用。 ashley_baxter$ mkdir /var/lib/mysql/tmp mkdir: /var/lib/mysql: 没有这样的文件或目录 我已经设法让我的 iMac 上的所有东西都运行良好,但让我伤心的是我的 MacBook。不知道为什么,因为我遵循了相同的步骤。
    • 我遇到了类似的问题:DESC 在所有表上都失败了——同样的错误。它试图访问的 TMP 目录是 /tmp,它具有全局可写权限。让事情变得更加混乱 - 它曾经工作正常!按照您的步骤,一切都恢复正常运行。 :-) 谢谢!
    • 对上述内容的一些澄清。在第 2 步中它应该是“chown”而不是“chmod”。在第 3 步中,该行进入 /etc/my.cnf(至少这是 Fedora 17 中文件所在的位置)。但是,是的,这为我解决了同样的问题。
    【解决方案2】:

    我希望你已经解决了这个问题,因为它已经过去了一年。但是我刚刚遇到了同样的问题并成功解决了。这个错误是因为mysql没有权限修改/usr/local/mysql/data中的文件。要绕过使用此目录,这是将 /usr/local/mysql/support-files 中提供的 cnf 之一复制到 ~/.my.cnf 中。我使用了 my-medium.cnf。然后我在 [mysqld] 部分下添加了变量 tmpdir=/tmp。我选择 /tmp 因为我在那里有读写权限。记得启动并重启你的mysql服务器。

    【讨论】:

      【解决方案3】:

      我在 Windows 中遇到了这个错误,我发现我以类似的方式重命名了我的数据库名称。它解决了我的问题。希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        无需重启服务器

        以下方法可行,值得一试: 使用 root 权限,在 /tmp 中搜索名为 #sql_d5_0.MYD 的文件 如果找到,只需移动或删除即可。这样你就释放了阻止 mysql 访问你的数据的锁。这是

        sudo rm /tmp/\#sql*
        

        【讨论】:

          猜你喜欢
          • 2019-01-11
          • 1970-01-01
          • 1970-01-01
          • 2011-11-16
          • 1970-01-01
          • 2013-07-05
          • 2013-11-01
          • 2011-02-17
          相关资源
          最近更新 更多