开发者社区 问答 正文

django连接mysql失败?报错

mysql正常安装,能够创建数据库。django设置里关于数据库的设置如下:

'ENGINE': 'django.db.backends.mysql',

'NAME': os.path.join(BASE_DIR, 'mysql'),

'USER': 'root',

'PASSWORD': '',

'HOST': '127.0.0.1',

'PORT': '3306',

但在执行python manage.py makemigrations时报错:

segmentation fault

请教各位大神,这是什么情况?

展开
收起
爱吃鱼的程序员 2020-06-06 15:59:48 1143 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>解决了,是因为mysql8.0版本后的加密方式改了,但django还是按照老版本的加密方式解密,所有无法正确识别密码。只要按照https://blog.csdn.net/dimming_123/article/details/80842672里的方法把加密方式改回老版本的就行了。</p>
    
                    
    
                        完整的报错能贴出来嘛? 
                    
    
                            就一行:segmentation fault  其他啥都没有了。
                        
    
                        <p>NAME那个字段填上你的数据库名字</p>
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'mydatabase',
            'USER': 'mydatabaseuser',
            'PASSWORD': 'mypassword',
            'HOST': '127.0.0.1',
            'PORT': '5432',
        }
    }

    https://docs.djangoproject.com/en/2.1/ref/settings/

                        <p><span style="color:#ce9178">'ENGINE'</span><span style="color:#d4d4d4">: </span><span style="color:#ce9178">'django.db.backends.mysql'</span><span style="color:#d4d4d4">,</span></p>
    

    'NAME': os.path.join(BASE_DIR, 'poll_web'),

    'USER': 'root',

    'PASSWORD': '',

    'HOST': '127.0.0.1',

    'PORT': '3306',


    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | poll_web           |
    | sys                |
    +--------------------+

    我新建了一个数据库叫poll_web,改了对应的地方还是报的同样的错。

                        <div class='ref'><h4>引用来自“多首”的评论</h4><p><span style="color:#ce9178">'ENGINE'</span><span style="color:#d4d4d4">: </span><span style="color:#ce9178">'django.db.backends.mysql'</span><span style="color:#d4d4d4">,</span></p>
    

    'NAME': os.path.join(BASE_DIR, 'poll_web'),

    'USER': 'root',

    'PASSWORD': '',

    'HOST': '127.0.0.1',

    'PORT': '3306',


    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | poll_web           |
    | sys                |
    +--------------------+

    我新建了一个数据库叫poll_web,改了对应的地方还是报的同样的错。

                            仔细检查一下啦
    

    你的数据库名是poll_web 但是你的代码是polls_web 多看看官方文档 https://docs.djangoproject.com/en/2.1/ref/settings/ 认准自己使用的版本

                                    'ENGINE': 'django.db.backends.mysql',
        'NAME': 'polls_web',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    

    还是不行。。

    2020-06-06 16:00:03
    赞同 展开评论