Django连接MySQL的小坑

请注意,本文编写于 107 天前,最后修改于 107 天前,其中某些信息可能已经过时。

最近打算部署一个小项目。由于预算原因,便宜购置了台微型VPS。微型VPS带来的麻烦事是:内存拮据和IO效率不行,只能使用较低版本的MySQL数据服务器。本来想使用Drupal作为脚本程序,MySQL数据库服务版本太低无法适配。

之后对比了多个方案,最终选择直接部署基于Django框架的CMS程序Wagtail。

wagtail.png
wagtail.png

本地调试Python用台式电脑还凑合。不过,MBP由于内存本来就比较吃紧,还拖个内存大户MySQL就显得有点累赘了。SQLite虽然是Django自带能开箱即用,不过管理显得有点麻烦,也比较吃IO。综上,我把MySQL服务器部署在家里的NAS上,方便不同设备进行调试。

我本机没有安装MySQL,所以也没有自带Python连接MySQL的驱动。Django自带的django.db.backends.mysql模块默认是使用MySQL Client进行连接的。网上的教程来来去去都是教你怎么样把MySQL Client给安装上去。无论是Brew方式安装还是通过官方的安装包安装,都需要先安装MySQL。对于Brew,系统还提示我使用的是Big Sur版本的系统,可能遭遇不可预计的缺陷。

不管三七二十一,撸上再说。结果,得益于GFW的作用,到安装MySQL的环节,老死下载不下来。实在受不了这样的折腾,心想MySQL这样流行的数据库服务器,不可能没有官方的Python驱动的。于是在MySQL的官方查询了一下,果然有官方的驱动,名字叫”MySQL Connector/Python"。真是踏破铁鞋无觅处,得来全不费工夫。

直接用pip给装上。

    pip install mysql-connector-python

不一会儿功夫,顺利安装上。顺便配置好Django的连接信息:

    import mysql.connector

    DATABASES = {
        'default': {
            'ENGINE': 'mysql.connector.django',
            'NAME': 'dbname',
            'USER': 'dbuser',
            'PASSWORD': '123456',
            'HOST': '192.168.11.240',
            'PORT': 3306,
        }
    }

重建一下数据,顺利启动项目。

这次在安装MySQL Client上浪费了点时间,真的学艺不精到处是坑。

添加新评论

已有 4 条评论

为了减少折腾,我还是继续Wordpress OωO

面 回复 @王光卫博客
0 0

有时候撸一下代码,是一个很有趣的事情。

没事,踩着踩着就过来了。经验之谈,哈哈

经验之谈呐~