Encore MySQL 5...

J'ai encore eu une surprise avec MySQL, j'ai voulu modifier les privilèges des utilisateurs du serveur et je suis tombé sur une erreur dans PhpMyAdmin. Voici le message :

Warning: Your privilege table structure seem to be older than this MySQL version! Please run the script mysql_fix_privilege_tables that should be included in your MySQL server distribution to solve this problem!

Après une très très longue investigation (environ 2 minutes, merci Google) j'ai réussi à cerner le problème : la table des privilèges utilisateurs peut-être modifiée suivant les versions. Donc dans le cas d'une upgrade les versions des tables ne correspondent pas, empêchant le bidule de fonctionner.

Le plus gros problème a été de trouver comment exécuter le script. Après plusieurs tentatives infructueuses dans PhpMyAdmin j'ai essayé via le shell de MySQL, voila la marche à suivre :

Pour Unix :

mysql_fix_privilege_tables --password=root_password
(pour les versions de MySQL supérieures à la 4.1)

mysql_fix_privilege_tables root_password
(pour les versions antérieures à la 4.1)

Bien sur remplacez root_password par le password du root du serveur.

Pour Windows :

mysql -u root -p mysql
mysql> SOURCE C:/mysql/scripts/mysql_fix_privilege_tables.sql

Faites attention au nom de répertoire, n'utilisez pas de \, il s'agit du caractère d'échappement. La requête devrait générer des alertes Duplicate colum name, mais n'en tenez pas compte.

Une fois la requête effectuez vous n'avez plus qu'a relancer le serveur.

Commentaires

Aucun commentaire pour le moment.

Laissez le vôtre !

Les commentaires pour ce billet sont fermés.

À propos du billet

vendredi 3 février 2006 à 12:08

Classé dans :

aucun commentaire

Navigation inter-billets