【问题标题】:Django - MySQL : 1146 Table doesn't existDjango - MySQL:1146 表不存在
【发布时间】:2016-06-14 10:51:14
【问题描述】:

大家好,这是我的第一篇文章,

我在 Windows 7 上使用 Django 1.8.9 和 Python 3.4.4 创建了一个网站。因为我使用的是 SQLite3,所以一切都很好。 我需要将数据库更改为 MySQL。我安装了 MySQL 5.6 和 mysqlclient。我更改了数据库设置并进行了迁移->工作。

但是当我尝试注册一个新帐户或登录到管理员(之前创建了 createsuperuser)时,我得到了这个错误: (1146,“表 'community_db.app_cache' 不存在”) 我重新启动了服务器并重新启动了命令提示符。

让我感到困惑的是下一行: C:\Python34\lib\site-packages\MySQLdb\connections.py 在查询中,第 280 行 我在读到 Python 3 没有任何 MySQLdb

如果有任何帮助会很好。我已经在这个网站上花了很长时间,并且我尝试像之前的所有其他问题一样解决这个问题,但是对于这个我无法通过 google/stackover 找到任何帮助。我不知道该怎么办

【问题讨论】:

    标签: mysql django python-3.x django-database


    【解决方案1】:

    所以这里是像我这样的所有 django(或一般编码)菜鸟的答案。

    python manage.py createcachetable

    我完全忘记了这一点,这导致了“app_cache 不存在”的所有问题。至少在这种情况下... 我将数据库更改为 PostgreSQL,但我相信它对 MySQL 也有帮助...

    【讨论】:

      【解决方案2】:

      我认为这是权限问题。就像在网页中与没有创建内容的适当权限的用户连接一样。

      如果您的表是 InnoDB,您将收到表不存在消息。您需要 MySQL 数据目录根目录中的 ib* 文件(例如 ibdata1、ib_logfile0 ib_logfile1)

      如果您没有这些文件,您可能需要通过直接登录数据库来修复权限

      【讨论】:

      • 我用我的root帐户创建了数据库,并且我还通过django使用我的root帐户来访问这个数据库,所以我想除非django有问题,否则权限应该是可以的。跨度>
      • 提到的文件在 MySQL 的我的数据文件夹中。我需要更改什么以及如何打开它们?
      • 好的。有没有可能让 MySQL 让人发疯?只是一个理论,或者它只是我。在我试图解决我的问题(没有成功)之后,出现了更多。最糟糕的是,我更改了我的根名称(建议提高安全性),此后我的密码不再有效。有没有人可以帮助某个真正尝试学习这些东西的人?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 2015-06-01
      • 2015-06-06
      • 2014-02-03
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多