Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

460
Views
mysql.connector.errors.DatabaseError: 2005 (HY000): host de servidor MySQL desconocido 'db' (2)
  • He dockerizado mi aplicación web Django.
  • Cada vez que ejecuto "docker-compose up", todo funciona bien y se abre localmente
  • Pero cuando ejecuto "python manage.py runserver" aparece un error mysql.connector.errors.DatabaseError: 2005 (HY000): Unknown MySQL server host 'db' (2)
  • Este es el mismo error que muestra cuando lo implementé en Azure
  • Cuando docker-compose up se ejecuta sin errores localmente y la aplicación web funciona bien

aquí está mi archivo docker-compose.yml

 services: db: image: mysql ports: - '3306:3306' environment: MYSQL_DATABASE: 'app' MYSQL_USER: 'root' MYSQL_PASSWORD: 'aspilos' MYSQL_ROOT_PASSWORD: 'aspilos' web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/aspilos ports: - "8000:8000" depends_on: - db

Aquí está mi archivo utils.py

 import mysql.connector mydb = mysql.connector.connect( host="db", user="root", passwd="aspilos", database="aspilos_log", auth_plugin="mysql_native_password" ) mycursor = mydb.cursor() mycursor.execute("SELECT CONCAT('+', PHONE_NUMBER) FROM category2") results = mycursor.fetchall() for i in zip(*results): number = list(i) number1 = '+2348076548894' print (number)

Aquí está mi archivo settings.py

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'app', 'USER': 'root', 'PASSWORD': 'aspilos', 'HOST': 'db', 'PORT': '3306', }, }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

"docker-compose up" todo funciona bien y se abre localmente Pero cuando ejecuto "python manage.py runserver" aparece un error mysql.connector.errors.DatabaseError: 2005 (HY000): Unknown MySQL server host 'db' (2)

Database Host DB solo funcionará en la red docker-compose . Puede conectarse a otro servicio usando el nombre del servicio dentro de docker-compose pero deja de ser válido fuera de la red docker.

Un error común que puede ocurrir en docker-compose es cuando la base de datos aún no está lista pero la aplicación intenta conectarse, una solución rápida y sucia para eso puede ser

 webapp: build: . image: webapp command: sh -c "sleep 30s ; python /app/manage.py"

Pero debe implementar la lógica de reintento.

Para lidiar con el error anterior, necesita un DNS que el host o el sistema puedan resolver

 mydb = mysql.connector.connect( host="REACHABLE_IP", .... )

Puede verificar la IP accesible conectándose a través de la base de datos, puede

 MySQL -h REACHABLE_IP -u db_user -pPass
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!