Si solo ejecuta el comando mysql bajo el usuario root, se le otorgará acceso sin que se le solicite una contraseña, porque la autenticación de socket está habilitada para [email protected]
Esta guía es engañosa.
La única forma de establecer una contraseña es cambiar a la autenticación nativa como:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
En mi loca búsqueda de una solución, eché un vistazo a /var/log/mysqld.log
y encontré esta línea:
[Nota] Se genera una contraseña temporal para [email protected]:abc123
Parece que mysql 5.7+ genera una contraseña aleatoria en la instalación y se solicita en ese archivo.
Siga los pasos a continuación para restablecer la contraseña:
$ sudo systemctl start mysqld
Restablezca la contraseña raíz del servidor MySQL.
$sudo grep 'temporary password' /var/log/mysqld.log
Salida algo como:
10.744785Z 1 [Note] A temporary password is generated for [email protected]: o!5y,oJGALQa
Use la contraseña anterior durante el reinicio mysql_secure_installation proceso.
$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Ha restablecido con éxito la contraseña raíz del servidor MySQL. Use el siguiente comando para verificar si el servidor MySQL se conecta o no.
$ mysql -u root -p
Consulte mi artículo:Instale MySQL 5.7 más reciente en RHEL/Centos 7