繁体   English   中英

从Django连接到MySQL

[英]Connecting to MySQL from Django

它是我的第一个项目与django..i已经尝试了与sqlite的连接。但现在使用django的连接与mysql nm得到以下错误...

D:\project\wogma>manage.py syncdb
Traceback (most recent call last):
  File "D:\project\wogma\manage.py", line 11, in <module>
    execute_manager(settings)

  File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
340, in execute_manager
    utility.execute()

  File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line
295, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "C:\Python26\lib\site-packages\django\core\management\base.py", line 192,
 in run_from_argv
    self.execute(*args, **options.__dict__)

  File "C:\Python26\lib\site-packages\django\core\management\base.py", line 218,
 in execute
    self.validate()

  File "C:\Python26\lib\site-packages\django\core\management\base.py", line 246,
 in validate
    num_errors = get_validation_errors(s, app)

  File "C:\Python26\lib\site-packages\django\core\management\validation.py", lin
e 65, in get_validation_errors
    connection.validation.validate_field(e, opts, f)

  File "C:\Python26\lib\site-packages\django\db\backends\mysql\validation.py", l
ine 8, in validate_field
    db_version = connection.get_server_version()

  File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 27
7, in get_server_version
    self.cursor()

  File "C:\Python26\lib\site-packages\django\db\backends\__init__.py", line 56,
in cursor
    cursor = self._cursor(settings)

  File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 26
2, in _cursor
    self.connection = Database.connect(**kwargs)

  File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python26\lib\site-packages\MySQLdb\connections.py", line 188, in __in
it__
    super(Connection, self).__init__(*args, **kwargs2)

_mysql_exceptions.OperationalError: (1049, "Unknown database 'd:/project/wogma/w
ogma'")

我在mysql中执行了如下命令..我已经创建了wogma数据库,只需使用create database ni授予priviliges..in mysql。 什么prb?

您正在尝试在文件路径中指定数据库(这适用于SQLite)。 MySQL需要一个数据库名称(例如'wogma')。 你必须按照说明安装MySQL,创建一个新用户和数据库等。看来你在Windows上,所以我不能帮助。

  1. 打开一个sql控制台并输入SHOW DATABASES;
  2. 如果出现wogma只是把它放在你的设置中(你使用的是django 1.1):

    DATABASE_ENGINE ='django.db.backends.mysql'

    DATABASE_NAME ='wogma'

    DATABASE_HOST ='127.0.0.1'

    DATABASE_PORT ='3306'

  3. 如果没有出现只是在这个控制台创建它CREATE DATABASE wogma ; 并再次采取措施。

尝试使用此连接配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'MY_DATABASE_NAME',
        'USER': 'root',
        'PASSWORD': 'MY_PASSWORD',
    }
}

首先 ,在mysql中创建数据库。

按照上述答案的指示,以下代码不起作用

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'MY_DATABASE_NAME',
        'USER': 'root',
        'PASSWORD': 'MY_PASSWORD',
    }
 }

您必须下载MySQL Connector 阅读这篇文章,在Django 2.1.x中设置MySQL数据库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM