环境说明
- 阿里云CentOs7
- msyql8.0
- django2.2
两台服务器,一台放数据库,一台部署应用,在执行数据库初始化的时候报错
解决办法
- 安装mysqlclient
pip install pymysql
- 修改项目目录下的
__init__.py
(projrct/project/__init__.py
)
import pymysql
pymysql.install_as_MySQLdb()
- 修改源码文件
根据错误提示找到base.py,
....django/db/backends/mysql/base.py
# 注释掉下面两行,一般在35-36行
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
继续报错:
AttributeError: ‘str’ object has no attribute ‘decode’
根据错误提示找到operations.py
# 修改decode为encode
if query is not None:
query = query.decode(errors='replace')
return query
重启apache
systemctl restart httpd