Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ GaussDB(for MySQL)/ Preguntas frecuentes/ Conexión de base de datos/ ¿Qué debo hacer si no puedo conectarme a mi instancia GaussDB(for MySQL)?
Actualización más reciente 2023-12-14 GMT+08:00

¿Qué debo hacer si no puedo conectarme a mi instancia GaussDB(for MySQL)?

Causas posibles

Pruebe lo siguiente:

  1. Compruebe si la instancia de base de datos está disponible.

    por ejemplo, el estado de la instancia de base de datos es anormal.

  2. (Common) Compruebe si la conexión del cliente es correcta.
    • Si se conecta a una instancia de base de datos a través de una red privada, asegúrese de que la instancia de base de datos y ECS están en la misma región y VPC.
    • Si se conecta a una instancia de base de datos a través de una red pública, enlaza un EIP a la instancia de base de datos y, a continuación, conéctese a la instancia de base de datos a través de la EIP.
  3. Compruebe que se utiliza la conexión SSL.

    Ejecute cualquiera de los siguientes comandos de ejemplo para habilitar o deshabilitar SSL:

    • SSL habilitado: mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem
    • SSL deshabilitado: mysql -h 172.16.0.31 -P 3306 -u root -p
  4. Compruebe si los parámetros del comando de conexión son correctos.

    Por ejemplo, compruebe si los siguientes parámetros están configurados correctamente: dirección de conexión, número de puerto, nombre de usuario, contraseña y método de conexión.

  5. (Common) Compruebe si la conexión de red es normal.
    • Para una conexión de red privada:
      1. Compruebe si el ECS y la instancia de base de datos están en la misma región y VPC.
      2. Compruebe las reglas del grupo de seguridad.
      3. En el ECS, compruebe si se puede conectar el puerto de instancia de base de datos.
    • Para una conexión de red pública:
      1. Compruebe las reglas del grupo de seguridad.
      2. Compruebe las reglas de ACL (lista de control de acceso) de la red.
      3. Haga ping a los ECS de la misma región a la instancia de base de datos.
  6. (Common) Compruebe si hay demasiadas conexiones a la instancia de base de datos.

    Si hay un número excesivo de conexiones de base de datos, es posible que las aplicaciones no puedan conectarse.

  7. Ver mensajes de error de conexión comunes.

    Encuentre las soluciones correspondientes basadas en mensajes de error de conexión.

Localización de fallas

Figura 1 ¿Qué puedo hacer si no puedo conectarme a mi instancia de base de datos?
  1. Compruebe si la instancia de base de datos está disponible.

    Compruebe si la instancia de base de datos está en el estado Available.

    Posible causa: la instancia de base de datos es anormal.

    Solución: Si la instancia de base de datos es anormal, reinicie la misma.

    Figura 2 Comprobación del estado de la instancia de base de datos
  2. Compruebe si la conexión del cliente es correcta.

    Instale un cliente de MySQL 8.0.

    Para obtener más información sobre cómo conectarse a una instancia de base de datos a través de una red privada o pública, consulte ¿Puede un servidor externo tener acceso a la base de datos de GaussDB(for MySQL)?.

    Tabla 1 Modelo de conexión

    Método de conexión

    Escenario

    Ejemplo

    Red privada

    De forma predeterminada, se proporciona una dirección IP privada.

    Si las aplicaciones se implementan en un ECS que se encuentra en la misma región y VPC que la instancia de base de datos, conéctese a la instancia de ECS y de base de datos a través de una dirección IP privada.

    mysql -h private IP address -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

    Vaya a la página Basic Information de la instancia y vea la dirección IP privada en el área Network Information.

    Red pública

    Si no puede acceder a la instancia de base de datos utilizando una dirección IP privada, enlaza un EIP a la instancia de base de datos y, a continuación, conéctese a la instancia de base de datos a través de la EIP.

    Para obtener información sobre los precios de EIP, consulte Detalles de facturación de EIP.

    mysql -h EIP -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

    Vaya a la página Basic Information de la instancia y vea la EIP en el área Network Information.

  3. Compruebe si la conexión SSL es usada.
    • (Recomendado) Habilite SSL en la página Basic Information de la instancia, descargue y descomprima el paquete y cargue el certificado raíz ca.pem en el directorio /tmp del ECS.

      Ejemplo:

      mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

      Figura 3 Habilitación de SSL
    • Conexión común: Deshabilite SSL en la página Basic Information.

      Ejemplo:

      mysql -h 172.16.0.31 -P 3306 -u root -p

  4. Verifique los parámetros en el comando utilizado para conectarse.

    Asegúrese de que la dirección de conexión, el puerto, el nombre de usuario y la contraseña y el certificado SSL sean correctos e intente conectarse de nuevo a la instancia de base de datos.

    • Conexión a una instancia de base de datos a través de una red privada
      • Connection command

        mysql -h connection address -P database port -u username -p --ssl-ca= SSL certificate name

        Ejemplo:

        mysql -h 192.168.0.153 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

      • Dirección de conexión

        Vaya a la página Basic Information de la instancia y vea la dirección IP privada en el área Network Information.

        Figura 4 Dirección IP privada

      • puerto de base de datos

        Vaya a la página Basic Information de la instancia y vea el puerto de la base de datos en el área Network Information.

      • Nombre de usuario

        Ingrese root y su contraseña.

      • Nombre de certificado de SSL

        Nombre del archivo de certificado SSL. La ruta de acceso y el nombre del archivo deben ser los mismos que los del comando.

    • Conexión a una instancia de base de datos a través de una red pública
      • Comando de conexión

        mysql -h connection address -P database port -u username -p --ssl-ca= SSL certificate name

        Ejemplo:

        mysql -h 10.83.34.224 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem

      • EIP

        Vaya a la página Basic Information de la instancia y vea la EIP en el área Network Information.

        Figura 5 EIP

      • Puerto de base de datos

        Vaya a la página Basic Information de la instancia y vea el puerto de la base de datos en el área Network Information.

      • Nombre de usuario y contraseña

        Asegúrese de haber introducido correctamente la contraseña de root.

      • Certificado

        Introduzca el nombre del archivo de certificado SSL. La ruta de acceso y el nombre del archivo deben ser los mismos que los del comando.

  5. Comprobar si la conexión de red es normal.
    Conexión de red privada
    1. Compruebe si el ECS y la instancia de base de datos están en la misma región y VPC.
      • Si la instancia ECS y DB están en diferentes regiones, no pueden comunicarse entre sí. Seleccione una región cercana a su área de servicio para reducir la latencia de la red y disfrutar de un acceso más rápido. Para conectarse a la instancia de base de datos en todas las regiones, utilice Cloud Connect (CC) o Virtual Private Network (VPN).
      • Si la instancia ECS y DB están en diferentes VPC de la misma región, no pueden comunicarse entre sí a través de una red privada. Después de crear una instancia de base de datos, no puede cambiar su VPC. En este caso, cree una conexión de interconexión de VPC. Para obtener más información, consulte ¿Qué debo hacer si un ECS y una instancia de GaussDB(for MySQL) desplegados en diferentes VPC no pueden comunicarse entre sí?.
      Figura 6 Comprobación de la VPC de un ECS
      Figura 7 Comprobación de la VPC de una instancia de GaussDB(for MySQL)
    2. Compruebe las reglas del grupo de seguridad.
      • Si Destination no es 0.0.0.0/0 y Protocol & Port no es All en la página Outbound Rules del ECS, agregue la dirección IP privada y el puerto de la instancia de base de datos a las reglas de salida.
        Figura 8 Grupo de seguridad de ECS
        Figura 9 Adición rápida de una regla de salida (dirección IP privada de una instancia de base de datos)
        Figura 10 Adición de una regla de salida (dirección IP privada de una instancia de base de datos)
      • Agregue la dirección IP privada y el puerto del ECS a las reglas entrantes.
        Figura 11 Adición rápida de una regla de entrada (dirección IP privada de un ECS)
        Figura 12 Adición de una regla de entrada (dirección IP privada de un ECS)

    3. En ECS, compruebe si se puede conectar la dirección IP privada de la instancia de base de datos.

      telnet private IP address

      Example:

      telnet 192.168.0.153 3306
      • Si la conexión es normal, la red es normal.
      • Si la conexión falla, cree un ticket de servicio para ponerse en contacto con el servicio de atención al cliente para obtener ayuda.

    Conexión de red pública

    1. Compruebe las reglas del grupo de seguridad.
      • Si Destination no es 0.0.0.0/0 y Protocol & Port no es All en la página Outbound Rules del ECS, agregue la EIP y el puerto de la instancia de base de datos a las reglas salientes.
        Figura 13 Grupo de seguridad de ECS
        Figura 14 Adición rápida de una regla de salida (EIP de instancia de BD)
        Figura 15 Adición de una regla de salida (EIP de instancia de BD)
      • Agregue la EIP y el puerto del ECS a las reglas entrantes.
        Figura 16 Adición de una regla de entrada (ECS EIP)
        Figura 17 Adición de una regla de entrada (ECS EIP)

    2. Compruebe las reglas de ACL (lista de control de acceso) de la red.
      1. Vaya a la ACL de la red.
      2. Compruebe si la NIC a la que el GaussDB(for MySQL) y la EIP enlazados pertenecen a la subred asociada a la ACL de la red.
      3. Compruebe si la ACL de red está habilitada.

        En caso afirmativo, agregue una regla ICMP para permitir el tráfico.

      La regla ACL de red predeterminada deniega todos los paquetes entrantes y salientes. Esta regla predeterminada se sigue aplicando incluso si la ACL de red está deshabilitada.

    3. Hacer ping a la instancia de base de datos en un ECS en la misma región.

      Si no puede hacer ping al EIP de la instancia de base de datos desde un ECS, intente hacer ping desde otro ECS en la misma región. Si la EIP se puede hacer ping, la red es normal. En este caso, cree un ticket de servicio para ponerse en contacto con el servicio de atención al cliente.

  6. Compruebe si hay demasiadas conexiones a la instancia de base de datos.

    Método de comprobación:

    1. Log in to the management console.
    2. Click in the upper left corner and select a region and a project.
    3. Click in the upper left corner of the page, choose Databases > GaussDB(for MySQL).
    4. En la página Instances, busque la instancia de base de datos y haga clic en Log In en la columna Operation.
    5. Ingrese la contraseña y haga clic en Test Connection. Una vez que la conexión se haya realizado correctamente, haga clic en Log In para acceder a DAS.
    6. Elija SQL Operations > SQL Query.
    7. Ingrese el comando y haga clic en Execute SQL para comprobar el número de conexiones de instancia.

      show variables like '%max%connections%';

      • max_connections: el número máximo de clientes que se pueden conectar al mismo tiempo. Si este parámetro se establece en default, el número máximo de clientes depende de la cantidad de memoria configurada. Para obtener más información, consulte ¿Cuál es el número máximo de conexiones a una instancia de GaussDB(for MySQL)?.
      • max_user_connections: el número máximo de conexiones simultáneas permitidas para una cuenta específica de GaussDB(for MySQL).
    8. Compruebe si el total de conexiones y las conexiones activas actuales han alcanzado los límites superiores consultando Consulta de métricas de monitoreo de instancia. Determine si desea liberar las conexiones.

    Causa posible: si hay demasiadas conexiones de base de datos, es posible que las aplicaciones no puedan conectarse y que las copias de respaldo completas e incrementales fallen, lo que afecta a los servicios.

    Solución:
    1. Compruebe si las aplicaciones están conectadas, optimice las conexiones y libere conexiones innecesarias.
    2. Si este parámetro se establece en default, puede escalar la instancia de base de datos para establecer max_connections en un valor mayor. Para obtener más información, consulte Cambio de las vCPU y memoria de una instancia de base de datos.
    3. Compruebe si las métricas son anormales y si se generan alarmas en la consola de Cloud Eye. Cloud Eye supervisa las métricas de la base de datos, como el uso de la CPU, el uso de la memoria, el uso del espacio de almacenamiento y las conexiones a la base de datos, y le permite configurar políticas de alarmas para identificar los riesgos por adelantado si se generan alarmas. Para obtener más información sobre las métricas de monitorización compatibles, consulte Introducción a las métricas GaussDB(for MySQL).
  7. Ver mensajes de error de conexión comunes.

    Cuando ejecuta comandos para conectarse a una instancia de base de datos, comprender los mensajes de error puede ayudar:

    • ERROR 2013: Se perdió la conexión al servidor MySQL durante la consulta

      Si los valores de wait_timeout y interactive_timeout son demasiado pequeños, el cliente de GaussDB(for MySQL) desconectará automáticamente la conexión vacía de tiempo de espera. Para obtener más información, consulte Cliente desconectado automáticamente de una instancia de base de datos.

    • ERROR 1045 : Access denied for user 'root'@'192.168.0.30' (using password: YES)

      Compruebe si la contraseña es correcta y si el ECS tiene el permiso para conectarse a la instancia de base de datos. Para obtener más información, consulte "Access denied" se muestra durante la conexión de base de datos.

    • Error message "SSL routines: tls_early_post_process_client_hello:unsupported protocol"

      Compruebe la versión TLS de GaussDB(for MySQL), y actualice la versión TLS del cliente. Para obtener más información, consulte Error de conexión SSL debido a versiones TLS incoherentes.

    • Error notificado cuando se utiliza JDBC para conectarse a la base de datos: "unable to find certification path to requested target"

      El paquete JAR de MariaDB se utiliza para conectarse a la base de datos, que es ligeramente diferente del paquete de controladores oficial de MySQL. Para obtener más información, consulte Error al conectarse a una base de datos usando mariadb-connector en modo SSL.

  8. Si el problema persiste, cree un ticket de servicio.