Home > computers > linux > mysql > MysqlChangeUserPassword | About
Méthode 1
N'utilisez cette méthode que pour changer le mdp root lorsque vous l'avez perdu. Les privilèges et autres informations concernant les utilisateurs ou les paramètres des bases et des tables ne sont pas forcément tous au même endroit, c'est pourquoi il est préférable de ne pas utiliser INSERT ou UPDATE directement dans ces tables.
fictive phpMyAdmin # mysql -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 48 Server version: 5.5.25-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql Database changed mysql> update user set password=PASSWORD("comeonthatwaseasy") where user='sugaruser'; Query OK, 0 rows affected (0.02 sec) Rows matched: 1 Changed: 0 Warnings: 0 mysql>
Methode 2, recommendée
Il s'agit d'appliquer les commandes liées à la création d'utilisateur ou à l'attribution de privileges. Ces commandes vont mettre à jour les bonnes tables et faire toutes les opérations nécessaires.
*Note* : cette méthode ne marche pas en mode rescue, c'est à dire quand vous démarrez la base avec l'option –skip-grant-tables. Pour cela, utilisez la méthode 1.
mysql> SET PASSWORD FOR 'backup'@'localhost' = PASSWORD('******'); ERROR 1133 (42000): Can't find any matching row in the user table mysql> select user,host from user; +------------------+------------------------------+ | user | host | +------------------+------------------------------+ | root | 127.0.0.1 | | backup | localhost | | debian-sys-maint | localhost | | ispapp1 | localhost | | ispconfig | localhost | | root | localhost | | root | ************************** | +------------------+------------------------------+ 7 rows in set (0.05 sec) mysql>
Si vous avez cette erreur c'est que comme moi vous avez du faire des conneries avant. Donc FLUSH PRIVILEGES pour faire le nécessaire.
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.11 sec) mysql> SET PASSWORD FOR 'backup'@'localhost' = PASSWORD('******'); Query OK, 0 rows affected (0.01 sec) mysql>
Cette fois la requête a bien marché.
contact : @ychaouche yacinechaouche at yahoocom