estoy tratando de conectar Mysql con django usando docker, y aparece este error
2061, 'RSA Encryption not supported - caching_sha2_password plugin was built with GnuTLS support'.Intenté cambiar de usuario y crear una base de datos con
// 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;PERO sigue el mensaje de error sqme
en la configuración.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'user_db', 'USER': 'user', 'PASSWORD': 'user', 'HOST': 'db', 'PORT': '3306', } }y en 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:3306gracias por su ayuda.
He solucionado esto cambiando el conector a mysql-connector-python==8.0.26 en lugar mysqlclient==2.0.3
Además, la configuración de conexión
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' } } }