es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

macOS – Error de conexión rechazada al dockerizar el servicio de MySQL, se bloquea al utilizarlo.

Usando la imagen de mysql (v8.0.21) con mac docker-desktop (v4.2.0, Docker-Engine v20.10.10)

Tan pronto como el servicio esté activo:
– Puntos de entrada listos
– Inicialización de innoDB completada
– Listo para la conexión

Pero tan pronto como intento ejecutar el script (consulta) directamente, se bloquea, se niega a conectar (también desde phpMyAdmin) y se reinicia.

  1. Registro de la terminal
  2. Conexión rechazada para phpMyAdmin

En los registros podemos ver un error:

[ERROR] [MY-011947] [InnoDB] No se puede abrir ‘/var/lib/mysql/ibbufferpool’ para lectura: No existe el archivo o el directorio

El error que podemos ver en el registro no es un problema, ya que InnoDB ya lo ha arreglado y actualizado, aquí está la referencia:

https://jira.mariadb.org/browse/MDEV-11840


Nota: Estamos bastante seguros de que el archivo docker-compose no tiene errores, ya que funciona bien en Windows y Ubuntu, pero el problema es solo para macOS.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución de problemas de conexión a MySQL en macOS Docker-Desktop

    Si está encontrando errores de conexión rechazada al intentar ejecutar consultas de mysql en docker-desktop para macOS, aquí hay algunos pasos que puede seguir para solucionar el problema:

    Paso 1: Verificar si los puntos de entrada de MySQL están listos

    Cuando el servicio de mysql esté en funcionamiento, los puntos de entrada deberían estar listos para la inicialización. Puede verificar esto ejecutando el siguiente comando:

    docker logs <mysql-container-id>
    

    Si los puntos de entrada están listos, debería ver un mensaje similar a este:

    Proceso de inicialización de MySQL finalizado. Listo para iniciar.
    

    Paso 2: Verificar si la inicialización de InnoDB está completa

    Una vez que los puntos de entrada estén listos, la inicialización de InnoDB debería estar completa. Nuevamente, puede verificar esto en los registros buscando un mensaje como este:

    2021-12-01 14:30:33 0 [Note] InnoDB: Inicio de carga de ib_buffer_pool desde el disco: iniciado
    

    Si en su lugar ve un error como este:

    [ERROR] [MY-011947] [InnoDB] No se puede abrir '/var/lib/mysql/ib_buffer_pool' para leer: No existe el archivo o el directorio
    

    No se preocupe, ya que este es un problema conocido que ya ha sido solucionado.

    Paso 3: Verificar si el servicio de MySQL está listo para aceptar conexiones

    Después de que la inicialización de InnoDB esté completa, el servicio de MySQL debería estar listo para aceptar conexiones. Puede verificar esto ejecutando el siguiente comando:

    docker exec -it <mysql-container-id> mysqladmin ping
    

    Si el servicio está listo para aceptar conexiones, debería ver un mensaje como este:

    mysqld está activo
    

    Paso 4: Verificar si el script directo (consulta) se está bloqueando

    Si encuentra errores de conexión rechazada al ejecutar scripts o consultas directas, intente ejecutar las consultas dentro del contenedor para verificar si se bloquea. Puede ejecutar el siguiente comando para obtener un indicador mysql dentro del contenedor:

    docker exec -it <mysql-container-id> mysql -uroot -p<password>
    

    Si puede conectarse al indicador mysql sin errores, intente ejecutar sus consultas desde aquí para ver si se bloquea.

    Si aún sigue enfrentando problemas de conexión, es posible que deba verificar su archivo docker-compose y la configuración de red para asegurarse de que no haya errores presentes.

    ¡Esperamos que estos pasos le ayuden a solucionar y resolver cualquier problema de conexión con MySQL en macOS Docker-Desktop!

Comments are closed.