Una opción es guardar UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
en un archivo y luego inicie manualmente mysqld
con --init-file=FILENAME
. Una vez que el servidor se inicie, debería restablecer su contraseña y luego debería poder iniciar sesión. Después de esto, debería apagar el servidor e iniciarlo normalmente.
Un poco tarde para el juego, pero tuve el mismo problema en una instalación de raspberry pi y descubrí que necesita elevación. Agregar un sudo al frente del cambio de contraseña permitió que funcionara.
sudo mysqladmin -u root password 'newpass'
seguido de un acceso sql elevado
sudo mysql -u root -p
Si no se ejecuta como sudo, fallará.
La contraseña del usuario raíz es una cadena vacía de forma predeterminada.
Y (using password: NO)
dice que no hay contraseña.
¿Intentas iniciar sesión desde otro sistema? Me imagino que solo puede iniciar sesión como usuario root localmente.
Eliminé la instalación de MySQL y eliminé los archivos de datos, y luego la reinstalé.
Luego pude establecer la contraseña de root. Una vez que establece la contraseña de root en algo. mysqladmin no le permitirá restablecerlo si no lo sabe.
Para restablecerlo, debe tener la propiedad sobre cómo se ejecuta mysqld y alimentarlo con un archivo de inicio para cambiar la contraseña de root:https://dev.mysql.com/doc/refman/5.0/en/resetting-permissions .html