Solución:
Solución 1:
La forma más sencilla de hacer esto es usar una sección de cliente del archivo ~ / .my.cnf y agregar las credenciales allí.
[client]
user=root
password=somepassword
...
También es una buena idea hacer que ese archivo sea legible solo por root.
Solucion 2:
Para mysql 5.7+, si establece una contraseña vacía para la configuración inicial, mysql usará automáticamente auth_socket
como estrategia. Un intento de actualizar la contraseña sin cambiar la estrategia no dará resultado. Siempre puede iniciar sesión sin usar contraseña si su usuario es root
.
Solución
Ejecute el siguiente comando para cambiar la estrategia de autenticación y establecer la contraseña
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''
referencia: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
Solución 3:
A partir de MySQL 5.6.6, puede usar mysql_config_editor para crear un archivo cifrado que lo iniciará automáticamente:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Luego ingrese la contraseña cuando se le solicite.
Nota: si su contraseña tiene ‘#’ y posiblemente otros caracteres, use comillas simples cuando ingrese la contraseña.