简体   繁体   English

在settings.py中将数据库更改为mysql时Django Segmentation错误

[英]Django Segmentation fault when changing database to mysql in settings.py

My question is similar to the one at error connecting mysql to django which has gone unanswered.我的问题类似于将 mysql 连接到 django出错的问题,但未得到答复。

I am using python 3.6.5 , mysql server-5.7.29 and Ubuntu 18.04 LTS .我正在使用python 3.6.5mysql server-5.7.29Ubuntu 18.04 LTS I am trying to setup mysql for my django application but I am receiving Segmentation fault.我正在尝试为我的 django 应用程序设置 mysql,但我收到了分段错误。

(env) monu@monu:~/Desktop/ShubhamProject/ShubhamProject$ python manage.py runserver
Segmentation fault (core dumped)

If I use the default sqlite3 database, server comes up.如果我使用默认的 sqlite3 数据库,服务器就会启动。

Database section in settings.py looks like settings.py 中的数据库部分看起来像

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'sports_website',
        'USER': 'nonroot',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

Using the following packages使用以下软件包

asgiref==3.2.3
Django==3.0.3
django-crispy-forms==1.8.1
mysqlclient==1.4.6
pytz==2019.3
sqlparse==0.3.0

install pymysql and add below in settings.py on top.安装 pymysql 并在顶部的 settings.py 中添加以下内容。

import pymysql
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()

这是因为django使用MySQLdb驱动,但MYSQLdb不支持python3,所以在settings.py中设置驱动为pymysql:首先:pip install pymysql并添加:import pymysql pymysql.install_as_MySQLdb()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM