Mac下Django连接mysql数据库(mysqlclient)

通过pymysql连接,有很多文章,但还要在__init__.py中输入防冒代码,还是有点麻烦。于是尝试mysqlclient,但在Mac上的安装总是有总题。
一、安装mysqlclient时,出现错误提示:mysql_config之类的文件找不到。这是路径的问题。

# 新版的MAC安装mysql的路径是在/usr/local/mysql/bin, 而mysqlclient总是去/usr/local/bin下去找。 
# 把这句加上就可以安装了。安装时还有一个警告信息,不知道什么意思,不影响使用
export PATH=/usr/local/mysql/bin:$PATH

二、settings文件中的设置我也放在这儿。能不记就不记,用到时,直接来复制

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',        #数据库名字
        'USER': 'root',          #账号
        'PASSWORD': 'Jenny_512',      #密码
        'HOST': '127.0.0.1',    #IP
        'PORT': '3306',                   #端口
    }
}

三、执行makemigrations时,还会提示一个错误。

 Reason: tried: '/System/Volumes/Preboot/Cryptexes/OS@rpath/libmysqlclient.21.dylib' (no such file), '/usr/local/lib/libmysqlclient.21.dylib' (no such file), '/usr/lib/libmysqlclient.21.dylib' (no such file, not in dyld cache)
.....
NameError: name '_mysql' is not defined
# 中间一大堆信息,关键就是上面一句,还是路径问题,提示文件找不到。把提示这个文件复制到/usr/local/lib下,还会提示其他文件找不到。我干脆把/usr/local/mysql/lib下的文件全部复制到/usr/local/lib下。问题解决。
# 其实都是mysql8安装路径导致的,应该可以通过设置某个系统变量解决,不过懒得研究了。
posted @ 2023-02-02 10:56  xiaoleebaba  阅读(526)  评论(0)    收藏  举报