Je suis nouveau dans l'expérience Mac. J'ai récemment installé MySQL et il me semble que je dois réinitialiser le mot de passe après l'installation. Cela ne me laissera rien faire d'autre.
Maintenant, j'ai déjà réinitialisé le mot de passe de la manière habituelle:
update user set password = password('XXX') where user = root;
(En passant: cela m’a pris beaucoup de temps à comprendre que MySQL, pour une raison bizarre, a renommé le champ 'mot de passe' en 'authentication_string'. Je suis assez contrarié par de tels changements.)
Malheureusement, il me semble que je dois changer le mot de passe d'une manière différente, inconnue de moi. Peut-être que quelqu'un ici a déjà rencontré ce problème?
mysql> UPDATE mysql.user SET Password=PASSWORD('your_new_password')
WHERE User='root';
ERREUR 1820 (HY000): Vous devez réinitialiser votre mot de passe à l'aide de l'instruction ALTER USER avant d'exécuter cette instruction.
mysql> SET PASSWORD = PASSWORD('your_new_password');
Requête OK, 0 ligne affectée, 1 avertissement (0.01 sec)
C'est là que j'ai trouvé la réponse: https://dev.mysql.com/doc/refman/5.6/en/alter-user.html
Si vous avez démarré mysql avec mysql -u root -p
Essayez ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Source: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
J'ai le même problème sur Mac
Commencez par vous connecter à mysql avec le mode sandbox
mysql -u <user> -p --connect-expired-password
Ensuite, définir le mot de passe
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXXX');
Query OK, 0 rows affected, 1 warning (0.01 sec)
Ça marche pour moi ~
Si vous utilisez MySQL 5.7.6 et versions ultérieures:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Si vous utilisez MySQL 5.7.5 et les versions antérieures:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Exécutez ces:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
Puis courir
./mysql -u root
Il devrait se connecter. Maintenant, lancez les privilèges FLUSH;
Puis quittez la console MySQL et essayez de vous connecter. Si cela ne fonctionne pas, lancez ceci:
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("XXXXXXX") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
Remplacez xxxxxx par votre nouveau mot de passe. Puis essayez de vous reconnecter.
Mise à jour. Voir ceci http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Cela devrait résoudre votre problème.
Si vous êtes sur Oracle, essayez ceci
ALTER USER username IDENTIFIED BY password
Sur MySQL 5.7.x, vous devez passer au mot de passe natif pour pouvoir le changer, par exemple:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Peut-être essayer ça?
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXX');
ou
SET PASSWORD FOR 'root'@'%' = PASSWORD('XXX');
Selon l'accès que vous utilisez.
(et vous n'êtes pas sûr de devoir changer vous-même les noms de champs ...)
ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'new_password';
Utilisez cette ligne ...
Sur Ver 14.14 Distrib 5.7.19, for macos10.12 (x86_64)
, je me suis connecté en tant que: mysql -uroot -p
puis j'ai saisi le mot de passe généré par MySQL lors de son installation. Ensuite..
ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';
Exemple:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ab1234'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye $ mysql -uroot -p
Et vous pouvez taper 'Ab1234'
UPDATE utilisateur SET authentication_string = PASSWORD ("MyPassWord") WHERE User = 'root'; ERREUR 1064 (42000): vous avez une erreur dans votre syntaxe SQL; Consultez le manuel correspondant à la version de votre serveur MySQL pour connaître la syntaxe à utiliser près de '("MyPassWord"). WHERE User =' root '' à la ligne 1
Résolu avec
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Référence du site ci-dessous
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
Mysql 5.7.24 obtenir la première connexion root
étape 1: obtenez le mot de passe du journal
grep root@localhost /var/log/mysqld.log
Output
2019-01-17T09:58:34.459520Z 1 [Note] A temporary password is generated for root@localhost: wHkJHUxeR4)w
étape 2: connectez-vous avec lui à mysql
mysql -uroot -p'wHkJHUxeR4)w'
étape 3: vous mettez le nouveau mot de passe root
SET PASSWORD = PASSWORD('xxxxx');
vous obtenez ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
comment le réparer?
exécuter ceciSET GLOBAL validate_password_policy=LOW;
réessayezSET PASSWORD = PASSWORD('xxxxx');
Cela a fonctionné pour moi:
ALTER USER UTILISATEUR () IDENTIFIÉ PAR 'auth_string';
Je l'ai trouvé ici: http://dev.mysql.com/doc/refman/5.7/en/alter-user.html#alter-user-current
Lorsque vous utilisez SET PASSWORD = PASSWORD('your_new_password');
, il risque de se bloquer.
(ERREUR 1819 (HY000): votre mot de passe ne satisfait pas aux exigences actuelles de la politique)
.vous pouvez utiliser SET GLOBAL validate_password_policy=LOW;
pour le slove.
Voici le chemin fonctionne pour moi.
mysql> show databases ;
ERREUR 1820 (HY000): Vous devez réinitialiser votre mot de passe à l'aide de l'instruction ALTER USER avant d'exécuter cette instruction.
mysql> uninstall plugin validate_password;
ERREUR 1820 (HY000): Vous devez réinitialiser votre mot de passe à l'aide de l'instruction ALTER USER avant d'exécuter cette instruction.
mysql> alter user 'root'@'localhost' identified by 'root';
Requête OK, 0 ligne affectée (0.01 sec)
mysql> flush privileges;
Requête OK, 0 ligne affectée (0.03 sec)
en version 5.7. Le champ 'mot de passe' a été supprimé. 'authentication_string' le remplace
use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;
J'ai aussi le même problème sous mac OS X 10.10.4 (Yosemite) .SET PASSWORD fonctionne pour moi. Requête OK, 0 ligne affectée, 1 avertissement (0.01 sec)
définissez votre variable de chemin d’environnement Mysql dans .bash_profile et ajoutez la ligne ci-dessous
export PATH = $ PATH:/usr/local/mysql/bin, après cela, exécutez la commande suivante: source .bash_profile
mysql> SET PASSWORD = PASSWORD('your_new_password');
Cela fonctionne pour moi.
Avait le problème après avoir installé mysql Workbench et serveur de communauté mysql. Vous avez généré un mot de passe lors de l'installation du serveur. Un double-clic sur l'instance locale existante dans Workbench a déclenché une boîte de dialogue dans laquelle je pouvais définir le nouveau mot de passe.
rappelez-vous les versions 5.7.23 et supérieures - la table utilisateur n'a pas de mot de passe de colonne mais une chaîne d'authentification. Par conséquent, la procédure ci-dessous fonctionne lors de la réinitialisation du mot de passe d'un utilisateur.
update user set authentication_string=password('root') where user='root';