web-dev-qa-db-fra.com

Modification du mot de passe root MySQL

J'ai essayé de réinitialiser mon mot de passe root MySQL. J'ai lancé mysqld_safe --skip-grant-tables, mis à jour le mot de passe root et vérifié la table user pour s'assurer de son emplacement. Une fois que j'ai redémarré le démon mysql, j'ai essayé de me connecter avec le nouveau mot de passe root que je viens de définir et j'obtiens toujours Accès refusé pour les erreurs 'root' de l'utilisateur. J'ai également essayé de supprimer et de réinstaller complètement mysql (notamment en supprimant le fichier my.cnf) et toujours pas de chance. Quelqu'un at-il des suggestions sur ce que je peux faire ensuite?

Merci d'avance

30
nick

jetons un coup d’œil à cela dans le manuel de référence de MySQL:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

Regardez cette page pour plus d’informations: Réinitialisation du mot de passe root: Unix Systems

42
VSB

Ceci est la réponse mise à jour pour WAMP v3.0.6 et plus

> UPDATE mysql.user 
> SET authentication_string=PASSWORD('MyNewPass') 
> WHERE user='root';

>FLUSH PRIVILEGES;

Dans la version 5.7.x de MySQL, il n'y a plus de champ mot de passe dans la table mysql. Il a été remplacé par authentication_string.

Veuillez suivre les étapes ci-dessous.

étape 1. arrêtez mysql

étape 2. Sudo mysqld_safe --skip-grant-tables

step3 .mysql -u root

step4 .use mysql;

step5 .show tables;

step6 .describe user;

step7 .update user set authentication_string=password('1111') where user='root';

se connecter avec mot de passe 1111

6
Loki Chandu

Vous devez réinitialiser le mot de passe! étapes pour mac osx (testé et fonctionnel) et ubuntu

Arrêtez MySQL

$ Sudo /usr/local/mysql/support-files/mysql.server stop

Démarrez-le en mode sans échec:

$ Sudo mysqld_safe --skip-grant-tables

(la ligne ci-dessus est la commande entière)

Ce sera une commande en cours jusqu'à la fin du processus, alors ouvrez une autre fenêtre Shell/terminal, connectez-vous sans mot de passe:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

Démarrer MySQL

Sudo /usr/local/mysql/support-files/mysql.server start

votre nouveau mot de passe est "mot de passe".

4
tk_

une erreur commune que je rencontre de temps en temps, est que j'oublie l'option -p, vous êtes donc sûr d'avoir utilisé

mysql -u root -p
2
Marian Theisen
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Vous pouvez trouver Réinitialisation du mot de passe racine dans la documentation MySQL.

2
iamfaith

Utilisation de l'utilitaire de ligne de commande mysqladmin pour modifier le mot de passe MySQL:

mysqladmin --user=root --password=oldpassword password "newpassword"

La source

1
Darush

Dans MySQL 5.7, le mot de passe est remplacé par 'authentication_string'.

utilisation

update user set authentication_string=password('myfavpassword') where user='root';
1
Kamal Reddy

arrêtez tous les services wamp, sortez de wamp.

ouvrez le bloc-notes puis tapez> SET PASSWORD FOR 'racine' @ 'localhost' = PASSWORD ('');

puis enregistrez-le sur c: lecteur avec n'importe quel nom .. comme ceci "c:/exemple.txt"

maintenant, allez à votre "wamp" falder wamp> bin> mysql> mysql (votre version)> bindans le cas, "C:\wamp\bin\mysql\mysql5.6.17\bin"

maintenant, copiez votre chemin puis lancez cmd avec (ctrl + r) puis tapez "cmd" (entrée)

tapez cd puis faites un clic droit sur cmd et collez le chemin (entrée) tapez maintenant (mysqld --init-file = C:\example.txt) sans accolades puis (entrée)

puis redémarrez PC ou ouvrez taskmgr et tuez mysqld.exe

commencez wamp et votre mot de passe sera supprimé ...

0
MohitGhodasara

Pour MySQL 5.7.6 et versions ultérieures:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Pour MySQL 5.7.5 et les versions antérieures:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
0
Eagle_Eye

Pour les utilisateurs de MacOS, si vous oubliez votre mot de passe root, la réponse de @ Sohara ( https://stackoverflow.com/a/28601069/5628856 ) est bonne, mais il y a un peu plus d'astuces:

Si vous utilisez la préférence système pour démarrer mysql serverside, simplement

Sudo mysqld_safe --skip-grant-tables

pourrait ne pas fonctionner pour vous.

Vous devez vous assurer que les arguments de la ligne de commande sont les mêmes avec System Start Config.

La commande suivante fonctionne pour moi:

/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables

Vous pouvez utiliser 

ps aux | grep mysql

pour vérifier les vôtres.

0
Shaofei Cheng
Sudo dpkg-reconfigure mysql-server-5.5 

Remplacez 5.5 par votre version actuelle et le nouveau mot de passe root vous sera demandé.

0
Mouneer