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安装路径导致的,应该可以通过设置某个系统变量解决,不过懒得研究了。

浙公网安备 33010602011771号