Mise à jour le mot de passe utilisateur dans Mysql 5.7
J'ai écrit un script d'installation pour modifier le mot de passe root avec cette commande SQL:
UPDATE user SET password='*C563415623144561...' WHERE user='root';
Cela ne fonctionne pas sur Mysql 5.7:
http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html#mysqld-5-7-6-account-management
Ma question est: comment faire pour modifier cette commande avec un autre compatible avec 5.6 et 5.7 de la version de Mysql? Je voudrais mettre à jour le mot de passe hashé en chaîne de caractères et non pas avec un effacement du mot de passe.
OriginalL'auteur Tobia | 2015-08-25
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas plus le champ mot de passe dans la table user mysql 5.7. Il s'appelle maintenant authentication_string. Vous pouvez modifier ou définir le mot de passe comme ceci:
Si vous vous voulez utiliser votre requête , il suffit de changer
password
àauthentication_string
,et il va fonctionner.Espérons que cette aide.
problème, je ne suis pas un bon script mais je pense que vous pouvez utiliser quelque chose comme cela pour obtenir la version de mysql
dpkg -l | grep mysql-server*
Vous pouvez ensuite utiliser regexp pour obtenir la version de mysql et exécuter le script basé sur les regex résultat.J'ai dû courir "FLUSH PRIVILEGES;" avant la mise à jour du mot de passe de travail.
OriginalL'auteur mdamia
J'ai utilisé cette commande de réinitialisation de mot de passe vide dans Mysql 5.7.22
OriginalL'auteur Carlos Alberto García Guardia
Étant donné que les " DÉFINIR le MOT de passe = MOT de passe (") " est obsolète comme sur mysql 5.7. Si ne pas fait correctement, vous pourriez même à la fin avec l'erreur ci-dessous dans syslog.
Je vous suggérons d'utiliser la commande ci-dessous.
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
OriginalL'auteur Venkat Kotra
Tout d'abord regarder votre version de mysql politiques de sécurité.
vous pouvez modifier cette politique, si vous le souhaitez avec
Changement de mot de passe de l'utilisateur approprié.
MySQL 5.7.5 et version antérieure:
MySQL 5.7.6 et version ultérieure:
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'
OriginalL'auteur Musa
Pour la version du Serveur: 5.7.25 - MySQL Community Server (GPL). Utiliser en dessous de la requête en tant que mot de passe n'est plus valable et remplacé par authentication_string
OriginalL'auteur Brajesh Singh