Première chose, on arrête mysql :
/etc/init.d/mysql stop
Ensuite redémarrez mysql avec l'option skip-grant-tables pour désactiver les logins/pass, et skip-networking pour éviter les connexions TCP/IP. Note : attention lors de cette commande, n'importe quelle personne ce connectant à l'aide des sockets aura un accès total à la base!!!
/usr/sbin/mysqld --skip-grant-tables --skip-networking --user=root &
Ensuite connectez vous avec le client mysql
mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 330933 Server version: 5.0.38 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>'
Sélectionnez la base mysql ou sont inscrit les tables des privilèges
mysql> USE mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
Tapez ensuite la commande suivante en remplaçant "password" par celui souhaité :
mysql> UPDATE user -> SET password=password("password") -> WHERE user="root"; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0
Appliquez les changements de privilèges :
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
Sortez du client mysql:
mysql> exit
Redémarrez le serveur :
/etc/init.d/mysql restart