Запуск syncdb в проекте Django не работает: невозможно создать / записать в файл - PullRequest
2 голосов
/ 18 января 2010

Когда я бегу:

$ 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)")

Есть идеи, как отлаживать? Я предоставил пользователю базы данных все необходимые ему разрешения. Не уверен, что MySQL противится здесь.

ОБНОВЛЕНИЕ: Проблема здесь заключалась в том, что я установил MySQL несколько раз (сначала 32-разрядную, а затем 64-разрядную, когда понял, что должен это делать), и хотя я следовал некоторым инструкциям по Как удалить MySQL, инструкции для Snow Leopard немного отличаются. После того, как я действительно произвел удаление и чистую установку, эта проблема исчезла.

Ответы [ 2 ]

4 голосов
/ 18 января 2010

Вопрос заключался в том, как отладить проблему, и, как уже указывал 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 в этом случае ничего не решит.)

2 голосов
/ 18 января 2010

Это может помочь:

agos @ server: ~ $ perror 2
Код ошибки ОС 2: Нет такого файла или каталога

Настроен ли ваш MySQLправильно?Попробуйте выполнить запрос самостоятельно с помощью команды mysql.
Также, как предложил luc в комментарии, попробуйте использовать sqlite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...