首先得在自己的机器上安装mysql应用

网上有很多教程,这里就不作介绍了

配置settings

修改settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '', # 数据库名
        'USER': 'root', # 用户名
        'PASSWORD': '123', # 密码
        'HOST': '127.0.0.1', # 连接地址
        'PORT': '3306', # 端口路
    }
}

安装库

然后安装库mysqlclient

pip install mysqlclient

配置好后,生成数据库迁移文件及同步数据库即可

这里讲下我遇到的坑

  • pip install mysqlclient 安装失败

我的虚拟环境是anaconda,使用pip安装mysqlclient,会导致失败,可以使用指令conda install mysqlclient

  • anaconda虚拟环境,不要使用pip install pymysql

网上了找了一圈,因为无法安装mysqlclient,让我使用pip install pymysql

如果不是使用的anaconda的虚拟环境,可以使用,否则就使用上方的conda install mysqlclient

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

  • OperationalError异常

OperationalError: (1071, ‘Specified key was too long; max key length is 767 bytes’)解决方法:

解决方法:就是将数据库的字符编码改成utf8,不要使用utf8mdb

还有些网友(@不玩游戏的网瘾少年)遇到的坑:

  1. 使用远程数据库提示Internet error,查看远程数据库的对应端口是否开放(比如MySQL就是3306,需要看一下防火墙有没有放行3306)
  2. 能访问3306端口但远程无法使用数据库,查看用户是否具有任意主机访问数据库的权限 3.提示django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3. 在没有其他使用的情况下将代码中的pymysql全部删掉。不需要安装pymysql。

如果不是像我使用conda创建的虚拟环境的,可以使用pip安装最新mysqlclient即可解决。

Last modification:May 5th, 2020 at 10:12 pm