MySQL : Restaurer les droits root sur votre serveur MySQL

Le 25 octobre 2012 — par

Pour une raison ou pour une autre, vous pouvez perdre facilement vos droits root sur votre serveur MySQL. Voici une méthode simple pour les récupérer.

Tout d’abord le contenu de notre fichier restore.sql qui remettra les droits :

update mysql.user set Super_priv='y' where user='root';
update mysql.user set Select_priv='y' where user='root';
update mysql.user set Insert_priv='y' where user='root';
update mysql.user set Update_priv='y' where user='root';
update mysql.user set Delete_priv='y' where user='root';
update mysql.user set Create_priv='y' where user='root';
update mysql.user set Drop_priv='y' where user='root';
update mysql.user set Reload_priv='y' where user='root';
update mysql.user set Shutdown_priv='y' where user='root';
update mysql.user set Process_priv='y' where user='root';
update mysql.user set File_priv='y' where user='root';
update mysql.user set Grant_priv='y' where user='root';
update mysql.user set References_priv='y' where user='root';
update mysql.user set Index_priv='y' where user='root';
update mysql.user set Alter_priv='y' where user='root';
update mysql.user set Show_db_priv='y' where user='root';
update mysql.user set Super_priv='y' where user='root';
update mysql.user set Create_tmp_table_priv='y' where user='root';
update mysql.user set Lock_tables_priv='y' where user='root';
update mysql.user set Execute_priv='y' where user='root';
update mysql.user set Repl_slave_priv='y' where user='root';
update mysql.user set Repl_client_priv='y' where user='root';
update mysql.user set Create_view_priv='y' where user='root';
update mysql.user set Show_view_priv='y' where user='root';
update mysql.user set Create_routine_priv='y' where user='root';
update mysql.user set Alter_routine_priv='y' where user='root';
update mysql.user set Create_user_priv='y' where user='root';

Ensuite, en ligne de commande :

/etc/init.d/mysql stop
mysqld --skip-grant-tables &
mysql -vv < restore_root_privileges.sql
/etc/init.d/mysql restart
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
mysql> quit;

Nous arrêtons le serveur MySQL pour le relancer en ne prenant pas en compte les tables de privilèges. Ça nous permet de les réparer avec le fichier ci-dessous. Redémarrez enfin votre serveur.

S'abonner au flux RSS du blog
Recevoir les nouveaux articles par e-mail :