Python 在Django项目上运行syncdb不工作:Can';t创建/写入文件
当我跑步时:Python 在Django项目上运行syncdb不工作:Can';t创建/写入文件,python,mysql,django,Python,Mysql,Django,当我跑步时: $ python manage.py syncdb 我得到以下输出: Creating table auth_permission Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/Library/Python/2.6/site-packages/django/core/management
$ python manage.py syncdb
我得到以下输出:
Creating table auth_permission
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 362, in execute_manager
utility.execute()
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 303, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 222, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/Library/Python/2.6/site-packages/django/core/management/commands/syncdb.py", line 78, in handle_noargs
cursor.execute(statement)
File "/Library/Python/2.6/site-packages/django/db/backends/util.py", line 19, in execute
return self.cursor.execute(sql, params)
File "/Library/Python/2.6/site-packages/django/db/backends/mysql/base.py", line 84, in execute
return self.cursor.execute(query, args)
File "build/bdist.macosx-10.6-universal/egg/MySQLdb/cursors.py", line 173, in execute
File "build/bdist.macosx-10.6-universal/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
_mysql_exceptions.InternalError: (1, "Can't create/write to file '/usr/local/mysql/data/wzhere/auth_permission.MYI' (Errcode: 2)")
创建表身份验证权限
回溯(最近一次呼叫最后一次):
文件“manage.py”,第11行,在
执行\u管理器(设置)
文件“/Library/Python/2.6/site packages/django/core/management/_init__.py”,第362行,在执行管理器中
utility.execute()
文件“/Library/Python/2.6/site packages/django/core/management/_init__.py”,执行中的第303行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/Library/Python/2.6/site-packages/django/core/management/base.py”,第195行,运行于_-argv
self.execute(*args,**选项._dict__;
文件“/Library/Python/2.6/site packages/django/core/management/base.py”,第222行,在execute中
输出=self.handle(*args,**选项)
文件“/Library/Python/2.6/site packages/django/core/management/base.py”,第351行,在handle中
返回self.handle\u noargs(**选项)
handle_noargs中的文件“/Library/Python/2.6/site packages/django/core/management/commands/syncdb.py”,第78行
cursor.execute(语句)
文件“/Library/Python/2.6/site packages/django/db/backends/util.py”,执行中的第19行
返回self.cursor.execute(sql,params)
文件“/Library/Python/2.6/site packages/django/db/backends/mysql/base.py”,执行中的第84行
返回self.cursor.execute(查询,参数)
文件“build/bdist.macosx-10.6-universal/egg/MySQLdb/cursors.py”,第173行,执行
文件“build/bdist.macosx-10.6-universal/egg/MySQLdb/connections.py”,第36行,在defaulterrorhandler中
_mysql_exceptions.InternalError:(1,“无法创建/写入文件'/usr/local/mysql/data/wzhere/auth_permission.MYI'(错误代码:2)”)
关于如何调试有什么想法吗?我已经为数据库用户提供了它所需的所有权限。我不知道MySQL在这里遇到了什么阻碍
更新:这里的问题是我安装了多次MySQL(第一次是32位,当我意识到我应该这么做时是64位),尽管我遵循了一些关于如何卸载MySQL的说明,但对于雪豹来说,说明略有不同。一旦我真的进行了卸载和清理安装,这个问题就消失了。这可能会有帮助:
agos@server:~$perror 2操作系统错误代码2:没有这样的文件或目录 您的MySQL配置正确吗?尝试通过
mysql
命令自己查询它。此外,正如luc在评论中所建议的那样,尝试使用sqlite。问题是如何调试问题,正如Agos已经指出的,Errno 2是“没有这样的文件或目录”。您可能希望查看MySQL的数据目录,并检查该目录是否确实存在,是否具有正确的权限
shell> cd /usr/local/mysql/data/
shell> ls -ld *
drwx------ 17 geert admin 578 Oct 1 19:33 someabstract
上面应该给出目录列表(MySQL数据库)及其权限。检查“wzhere”目录是否特别。。
我应该说,你收到的错误信息有点奇怪
(在这种情况下,尝试另一个Django DB后端无法解决任何问题。)