【发布时间】: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 或创建用户,谢谢您的帮助。