django 如何处理这个错误(1049,“Unknown database '/users/ohyunjun/work/astral/mysql'”)

yftpprvb  于 2023-07-01  发布在  Go
关注(0)|答案(4)|浏览(268)

在Django settings.py中,我这样设置数据库选项

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql',
  4. 'NAME': os.path.join(BASE_DIR, 'mysql'),
  5. 'USER': 'root',
  6. 'PASSWORD': 'sp153426',
  7. 'HOST': '127.0.0.1',
  8. 'PORT': '3306',
  9. }
  10. }

我执行了这个命令
python manage.py syncdb
但由于此错误而失败

  1. File "manage.py", line 10, in <module>
  2. execute_from_command_line(sys.argv)
  3. File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
  4. utility.execute()
  5. File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 392, in execute
  6. self.fetch_command(subcommand).run_from_argv(self.argv)
  7. File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
  8. self.execute(*args, **options.__dict__)
  9. File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 285, in execute
  10. output = self.handle(*args, **options)
  11. File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 415, in handle
  12. return self.handle_noargs(**options)
  13. File "/Library/Python/2.7/site-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
  14. cursor = connection.cursor()
  15. File "/Library/Python/2.7/site-packages/django/db/backends/__init__.py", line 160, in cursor
  16. cursor = self.make_debug_cursor(self._cursor())
  17. File "/Library/Python/2.7/site-packages/django/db/backends/__init__.py", line 132, in _cursor
  18. self.ensure_connection()
  19. File "/Library/Python/2.7/site-packages/django/db/backends/__init__.py", line 127, in ensure_connection
  20. self.connect()
  21. File "/Library/Python/2.7/site-packages/django/db/utils.py", line 99, in __exit__
  22. six.reraise(dj_exc_type, dj_exc_value, traceback)
  23. File "/Library/Python/2.7/site-packages/django/db/backends/__init__.py", line 127, in ensure_connection
  24. self.connect()
  25. File "/Library/Python/2.7/site-packages/django/db/backends/__init__.py", line 115, in connect
  26. self.connection = self.get_new_connection(conn_params)
  27. File "/Library/Python/2.7/site-packages/django/db/backends/mysql/base.py", line 435, in get_new_connection
  28. conn = Database.connect(**conn_params)
  29. File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/MySQLdb/__init__.py", line 81, in Connect
  30. return Connection(*args, **kwargs)
  31. File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/MySQLdb/connections.py", line 187, in __init__
  32. super(Connection, self).__init__(*args, **kwargs2)
  33. django.db.utils.OperationalError: (1049, "Unknown database '/users/ohyunjun/work/astral/mysql'")
piztneat

piztneat1#

'NAME'是数据库的名称。使用MySQL,您还需要手动创建数据库。假设你跑了:

  1. $ mysql -u root -p
  2. mysql> CREATE DATABASE mydb;
  3. Query OK, 1 row affected (0.02 sec)

您的配置应该是:

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql',
  4. 'NAME': 'mydb',
  5. 'USER': 'root',
  6. 'PASSWORD': 'sp153426',
  7. 'HOST': '127.0.0.1',
  8. 'PORT': '3306',
  9. }
  10. }
展开查看全部
k4emjkb1

k4emjkb12#

嘿,伙计,它只是要求数据库应该已经在MySQL中创建。

3pmvbmvn

3pmvbmvn3#

使用Docker启动MySQL
我更改了数据库名称,然后有同样的错误。
移除docker的卷缓存后,一切正常!

  1. docker volume --help
  2. docker volume ls
  3. docker volume rm xx yy
mfpqipee

mfpqipee4#

首先,您需要在Mysql数据库中创建数据库,并settings.py在mysql connectivuty代码中写入www.example.com中的名称
settings.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'name_of database', 'USER': 'root', 'PASSWORD': 'sp153426', 'HOST': '127.0.0.1', 'PORT': '3306', } }
这里的name_of_database -是你的数据库中已经需要的
使用SQL查询创建

  1. `CREATE DATABASE name_of Database;`

相关问题