如何在django 1.10.6中连接MySQL数据库

时间:2017-03-29 13:19:51

标签: python mysql django database

import MySQLDB as Database
  

文件“c:\ pythonprojects \ env \ lib \ site-packages \ mysql_python-1.2.2-py3.6-win32.egg \ mysqldb__init__py”,第22行

 raise ImportError, "This is MySQL Version %s, But _mysql is version %r" 
  

SyntaxError:语法无效

2 个答案:

答案 0 :(得分:1)

确保安装了pymysql。然后在settings.py中执行此操作

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except:
    pass

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'db-name',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

答案 1 :(得分:0)

i)首先你必须在你的机器上安装mysql服务器,如果你已经启动并运行了mysql服务器,那么跳转到下一步。

ii)在mysql中创建用户(您可以使用root用户,但我建议创建一个单独的用户)您可以参考mysql文档来创建新用户。让我们创建一个用户: - username = testuser ,密码= testpass @ 123

iii)在mysql中创建一个数据库,命名为 testDB

iv)现在你必须安装mysqlclient-python,从PyPI安装它你可以通过输入 pip install mysqlclient 来实现它(默认情况下,如果你正在设置pip python包管理器指向python2系列在python3上你的django项目然后你必须使用pip3)有关如何在你的特定操作系统上安装mysqlclient-python的更多信息你可以参考这个链接:https://github.com/PyMySQL/mysqlclient-python

v)现在在密钥DATABASES下的settings.py中进行以下更改:

 DATABASES = {
    'default': { 
      'ENGINE': 'django.db.backends.mysql', # for mysql engine
      'NAME': 'testDB',
      'USER': 'testuser',
      'PASSWORD': 'testpass@123',
      'HOST': 'localhost', # if you want to run your project on your localmachine 
 }
    }

vi)现在将工作目录更改为django项目目录:“cd yourDjangoProject”并运行这些django命令     

  • python manage.py makemigrations
  • python manage.py migrate
  • 现在我希望上面的django命令能够成功运行,并且你可以在你的django项目中使用你的mysql数据库。