No se puede acceder a consultas en la base de datos MySQL

Método para resolverlo

  1. Verifica que el servidor MySQL esté en ejecución con el siguiente comando en la terminal:
    systemctl status mysql
    Si el servicio está detenido, reinícialo con:
    sudo systemctl restart mysql
  2. Asegúrate de que las credenciales de acceso sean correctas. Puedes probar conectándote desde la terminal con:
    mysql -u usuario -p
    Si el acceso falla, intenta cambiar la contraseña con:
    ALTER USER 'usuario'@'localhost' IDENTIFIED BY 'nueva_contraseña';
  3. Si el problema ocurre en una aplicación web, revisa el archivo de configuración (por ejemplo, config.php en Moodle) y confirma que los parámetros de conexión sean correctos.
  4. Verifica si la base de datos tiene acceso desde conexiones remotas. Edita el archivo my.cnf y asegúrate de que la línea:
    bind-address = 127.0.0.1
    Permita conexiones desde otros servidores si es necesario.
  5. Revisa los permisos del usuario MySQL con el siguiente comando:
    SELECT user, host FROM mysql.user;
    Si el usuario solo tiene acceso desde localhost, otorga permisos para acceso remoto con:
    GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' IDENTIFIED BY 'contraseña';
  6. Si los problemas persisten, revisa los registros de errores en:
    /var/log/mysql/error.log

Causas del problema

  • El servicio MySQL no está en ejecución debido a una falla en el servidor o un reinicio inesperado.
  • Las credenciales de acceso son incorrectas o la cuenta está bloqueada por múltiples intentos fallidos.
  • El usuario MySQL no tiene los permisos adecuados para ejecutar consultas.
  • El acceso remoto a la base de datos está deshabilitado o restringido en la configuración del servidor.
  • El firewall del servidor bloquea la conexión a MySQL en el puerto 3306.

Recomendaciones

  • Configura copias de seguridad automáticas de la base de datos para evitar pérdidas de información.
  • Utiliza autenticación basada en certificados en lugar de contraseñas simples para mejorar la seguridad.
  • Si la base de datos es utilizada por una aplicación web, revisa los registros de la aplicación para detectar posibles errores de conexión.
  • Si necesitas acceso remoto a MySQL, configura una VPN en lugar de exponer directamente el puerto 3306 a Internet.

Ejemplos y Casos de Uso

  • Si un usuario no puede conectarse a MySQL desde una aplicación web, verifica que las credenciales en config.php sean correctas.
  • Si se ha realizado un cambio en la red, revisa que el firewall no esté bloqueando el tráfico a MySQL.
  • Si el acceso remoto está bloqueado, revisa la configuración de bind-address en my.cnf y asegúrate de que permite conexiones externas.

Referencias

¿Le ha resultado útil este artículo?