【问题标题】:Error 1005 "Can't create table (errno: 13)"错误 1005 “无法创建表 (errno: 13)”
【发布时间】:2016-09-07 14:24:14
【问题描述】:

我正在尝试使用 Django 迁移到 MySQL 数据库,但收到此错误:

(1005, "无法创建表 '#sql-60_f71' (errno: 13)")

我之前已经对这个数据库进行了几次迁移,这是我第一次看到这个错误。真正让我感到困惑的是,我的迁移甚至没有创建表。以下是迁移的样子:

operations = [
    migrations.AddField(
        model_name='inverter',
        name='custom_name',
        field=models.CharField(blank=True, default=b'', max_length=30),
    ),
    migrations.AlterField(
        model_name='status',
        name='generic_name',
        field=models.CharField(default=b'Status', max_length=20),
    ),
]

【问题讨论】:

  • (errno: 13) 是权限错误。根据您提供的信息,我不知道是什么原因造成的,但其他一些人谈到查看您的目录并查看您是否拥有正确的权利。 stackoverflow.com/questions/2476272/…
  • @Dresden 你是对的。数据库的所有者是我而不是 mysql。我只是无法确定我的数据库在目录中的位置(最终位于 /usr/local/mysql/data/ 中)

标签: mysql django


【解决方案1】:

在这里找到答案https://stackoverflow.com/a/4037158/5285571。我遇到了麻烦,因为我的数据库不在/var/lib/mysql。我最终不得不做sudo chown -R mysql:mysql /usr/local/mysql/data/my_database

【讨论】:

    【解决方案2】:

    我也面临同样的问题,但我想出了这个问题。我不知道它是如何工作的。

    但是看在上帝的份上,它对我有用,而且我不是编程专业人士,但我正在学习。

    我第一次使用“/var/lib/mysql then mkdir a”之类的方法创建数据库,但它不起作用,所以我在MySQL中手动创建了数据库,而不是在/var/lib/mysql,然后我创建了表格,它对我有用。

    mysql> create database a;
    Query OK, 1 row affected (0.08 sec)
    
    mysql> use a;
    Database changed
    mysql> create table a(Name char(21));
    Query OK, 0 rows affected (0.27 sec)
    

    【讨论】:

      猜你喜欢
      • 2013-07-22
      • 2017-04-09
      • 2016-10-12
      • 1970-01-01
      • 2013-08-17
      • 2012-12-27
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      相关资源
      最近更新 更多