【问题标题】:RSA Encryption not supported - caching_sha2_password with django mysql and docker不支持 RSA 加密 - 使用 django mysql 和 docker 缓存_sha2_password
【发布时间】:2021-10-12 11:58:00
【问题描述】:

我正在尝试使用 docker 将 Mysql 与 django 连接,但出现此错误

2061, 'RSA Encryption not supported - caching_sha2_password plugin was built with GnuTLS support'.

我尝试更改用户并创建数据库

// create a user //

CREATE USER 'user'@'localhost' IDENTIFIED BY 'user';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
CREATE USER 'user'@'%' IDENTIFIED BY 'user';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;

// create a database //

CREATE DATABASE user_db;

但仍然是 sqme 错误消息

在settings.py中

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

在 docker-compose 中:

db:
    image: mysql:latest
    environment:
        MYSQL_DATABASE: 'user_db'
        MYSQL_USER: 'user'
        MYSQL_PASSWORD: user
        MYSQL_ROOT_PASSWORD: root
    volumes:
        - ./data/mysql/db:/var/lib/mysql
    ports: 
        - 3306:3306

感谢您的帮助。

【问题讨论】:

  • 已经尝试过了,我使用来自 docker 的 mysql 我的系统上没有它(我使用 Ubuntu),并且我尝试过更改用户和创建用户解决方案,但没有工作,但感谢您的回答
  • 您是否尝试将所有内容设置为本机密码
  • 我实际上发现这是 MySQL 版本 8 中的问题,我将其更改为旧版本并且一切正常,使用 root 或创建用户,谢谢您的帮助。

标签: mysql django docker


【解决方案1】:

我已经解决了这个问题,将连接器更改为mysql-connector-python==8.0.26 而不是mysqlclient==2.0.3

还有,连接设置

DATABASES = {
    'default': {
        #'ENGINE':   'django.db.backends.mysql',
        'ENGINE':   'mysql.connector.django',
        'NAME':     getenv('MYSQL_DATABASE'),
        'USER':     getenv('MYSQL_USER'),
        'PASSWORD': getenv('MYSQL_PASSWORD'),
        'HOST':     'db',
        'PORT':     getenv('MYSQL_PORT', 3306),
        'OPTIONS': {
            'auth_plugin': 'mysql_native_password'
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-30
    • 2018-10-18
    • 1970-01-01
    • 2011-05-13
    • 2018-05-06
    • 1970-01-01
    • 2019-12-08
    • 2019-10-12
    相关资源
    最近更新 更多