Django配置MySQL数据库及采坑记

Django默认使用的数据库是SQLite,但在实际中大部分公司或个人开发者都会采用MySQL,原因肯定是MySQL比较好用啊。

在配置MySQL的过程可能会出现一点问题,这里记录一下过程与问题

记录

  1. Django的默认配置文件在生成项目时候,会有一个settings.py文件,里面有各种配置其中有一项是配置数据库的。

我们修改如下:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'NAME': 'test',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': 3306
    }
}

MySQL的详细配置信息在官网的这个位置:MySQL注意事项

到这里,我们是配置了Django使用MySQL数据库,但是python的mysql库还没有安装。

  1. 安装MySQL的python驱动,mysqlclient是MySQL的官方驱动,推荐用这个,但是在Mac上安装的时候会有小的bug,官网也指出了。不过不难解决

2.1 Mac系统安装mysqlclient. 首先安装mysql-connector-c

brew install mysql-connector-c

2.2 如果只执行上一步之后,直接安装会出现如下错误


Django配置MySQL数据库及采坑记
image.png

2.3 进行修复,根据官网的提示,修改mysql_config,不管电脑上装了几个MySQL程序,修改brew安装的那个mysql_config,位置在/usr/local/bin/mysql_config

修改文件内容:
修改之前:


Django配置MySQL数据库及采坑记
image.png

修改之后:


Django配置MySQL数据库及采坑记
image.png

也就是从:

libs="$libs -l "

变为:

libs="$libs -lmysqlclient -lssl -lcrypto"
  1. 再次安装mysqlclient
Django配置MySQL数据库及采坑记
image.png
  1. 启动项目即可。现在Django可以正常的使用MySQL数据库了。

最后

如有错误,欢迎指出。