web stats

Error 1698 28000 Access Denied For User Root Localhost


Error 1698 28000 Access Denied For User Root Localhost

El error 1698 28000 Access Denied for User Root Localhost en MySQL (y MariaDB) indica que el usuario 'root', que intenta conectarse desde 'localhost' (tu propia máquina), no tiene los permisos necesarios para acceder a la base de datos.

Este error es crucial entenderlo porque el usuario 'root' tiene, o debería tener, privilegios administrativos sobre la base de datos. Impedir su acceso bloquea tareas esenciales como la gestión de usuarios, la creación de bases de datos y el mantenimiento del sistema.

Solución Paso a Paso:

Aquí tienes una guía para solucionar este problema:

  • Paso 1: Acceder a MySQL con un usuario alternativo (si es posible). A veces, tienes otro usuario con privilegios para acceder. Si lo tienes, úsalo para los siguientes pasos.
  • Paso 2: Reiniciar MySQL en modo seguro (si no hay usuarios alternativos).
    • Linux (Systemd): sudo systemctl stop mysql, seguido de sudo mysqld_safe --skip-grant-tables & (el "&" lo ejecuta en segundo plano).
    • Windows: Detén el servicio MySQL a través del Administrador de Tareas (Ctrl+Shift+Esc) o Servicios (busca "MySQL"). Luego, abre un símbolo del sistema como administrador y ejecuta: mysqld --skip-grant-tables
    • Nota: Este modo desactiva la comprobación de contraseñas.
  • Paso 3: Conectarse a MySQL sin contraseña. Abre una nueva terminal y ejecuta: mysql -u root. Como iniciamos MySQL sin comprobación de contraseñas, esto debería funcionar.
  • Paso 4: Actualizar la contraseña del usuario 'root'. Dentro de la consola de MySQL, ejecuta:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'nuevacontraseña';
    FLUSH PRIVILEGES;

    Sustituye 'nuevacontraseña' por una contraseña segura. Recuerda: la contraseña es case-sensitive. Si tienes problemas con la sintaxis, prueba la siguiente versión:

    UPDATE mysql.user SET authentication_string=PASSWORD("nuevacontraseña") WHERE User='root' AND Host='localhost';
    FLUSH PRIVILEGES;

  • Paso 5: Reiniciar MySQL normalmente. Cierra la consola de MySQL, detén el proceso mysqld_safe o mysqld (en Windows, finaliza el proceso o reinicia el servicio MySQL) y reinicia MySQL como lo harías normalmente (sudo systemctl start mysql en Linux, o reinicia el servicio en Windows).

Después de estos pasos, deberías poder conectarte a MySQL como el usuario 'root' usando la nueva contraseña que estableciste. Recuerda usar una contraseña segura y almacenarla en un lugar seguro.

ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘解决方法_error MySQL ERROR 1698 (28000): Access denied for user ‘root’@’localhost ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘解决方法-阿里云开发者社区 MySQL 8出现ERROR 1698 (28000): Access denied for user ‘root’@’localhost

You might also like →