Solution 1 :
Pour ce faire, le moyen le plus simple consiste à utiliser une section client du fichier ~/.my.cnf et à y ajouter les informations d'identification.
[client]
user=root
password=somepassword
...
c'est une bonne idée de rendre ce fichier lisible uniquement par root également.
Solution 2 :
Pour mysql 5.7+, si vous définissez un mot de passe vide pour la configuration initiale, mysql utilisera automatiquement auth_socket
comme stratégie. Une tentative de mise à jour du mot de passe sans changer la stratégie n'aura aucun résultat. Vous pouvez toujours vous connecter sans utiliser de mot de passe si votre utilisateur a root
.
Solution Exécutez la commande suivante pour modifier la stratégie d'authentification et définir le mot de passe
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''
référence :https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
Solution 3 :
Depuis MySQL 5.6.6, vous pouvez utiliser mysql_config_editor pour créer un fichier chiffré qui vous connectera automatiquement :
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Entrez ensuite le mot de passe lorsque vous y êtes invité.
Remarque :si votre mot de passe contient "#" et éventuellement d'autres caractères, utilisez des guillemets simples lors de la saisie du mot de passe.