Oups. La boulette.

Une fois n’est pas coûtume, aujourd’hui, je vais vous parler dans cette rubrique d’une procédure et non d’un programme. Si vous utilisez MySQL et que vous avez déjà tenté de l’administrer un peu, je suis sûr qu’au moins une fois vous avez commis l’erreur de triffouiller sans faire attention dans les privilèges et vous vous êtes retrouvé sans pouvoir accèder à votre base de données. Soit le mot de passe est erroné, soit l’utilisateur root n’existe plus ou bien encore il n’a aucun droit. Bref c’est la catastrophe.

Vous avez bien la solution de le désinstaller puis de le réinstaller ou pour les plus brutaux de récupérer les fichiers user.* du répertoire data/mysql d’une autre installation de MySQL et d’écraser les votres avec, perdant au passage vos anciens comptes et droits. Dans tous les cas, ce n’est ni pratique ni conseillé.

Il existe pourtant une procédure simple et documentée pour résoudre ce problème. Je vais vous la résumer rapidement pour une installation faite avec les RPM officiels sous Fedora Core 2. Pour les autres systèmes, se référer à la documentation officielle.

  • Connectez vous sur la machine en root
  • Arrêtez le serveur MySQL

$ kill `cat /var/lib/mysql/NOM DE VOTRE HOTE.pid`

  • Relancez le serveur en désactivant la vérification des droits

$ /usr/bin/safe_mysqld --skip-grant-tables &

  • Changez le mot de passe du root

$ mysqladmin -u root flush-privileges password 'NOUVEAU MOT DE PASSE'

Voilà, ce n’est pas plus compliqué que cela.

Ce contenu a été publié dans Boîte à outils. Vous pouvez le mettre en favoris avec ce permalien.

2 réponses à Oups. La boulette.

  1. Romain dit :

    Effectivement, une astuce qui m’aurait ?vit? de r?installer une fois ou deux. :p
    Sinon, pour les serveurs de production, j’utilise MySQL Administrator (http://www.mysql.com/products/ad... ). Ca m’?vite de faire des b?tises. 🙂

  2. solo dit :

    Au d?but de l’?t? il nous est arriv? la m?me chose ? la boite et on a utilis? ce "stratag?me" pour nous en sortir 😀

    Mais par contre c’est pas en trifouillant c’est en faisant un update assez maladroit de MySQL …

Les commentaires sont fermés.