Mysql
 sql >> Base de données >  >> RDS >> Mysql

Restauration de l'utilisateur et du mot de passe 'root' supprimés pour MySQL

J'ai un moyen rapide et sale

Demandez à quelqu'un de disposer des droits d'administrateur système et procédez comme suit :

  1. Ajoutez 'skip-grant-tables' à my.cnf sous la section [mysqld]

  2. redémarrer mysql

  3. tapez mysql sans mot de passe et appuyez sur entrée

  4. Exécutez ceci :

    DELETE FROM mysql.user 
    WHERE  user = 'root' 
           AND host = 'localhost'; 
    
    INSERT INTO mysql.user 
    SET user = 'root', 
        host = 'localhost', 
        password = Password('whatevernewpassword'), 
        Select_priv = 'y',
        Insert_priv = 'y',
        Update_priv = 'y',
        Delete_priv = 'y',
        Create_priv = 'y',
        Drop_priv = 'y',
        Reload_priv = 'y',
        Shutdown_priv = 'y',
        Process_priv = 'y',
        File_priv = 'y',
        Grant_priv = 'y',
        References_priv = 'y',
        Index_priv = 'y',
        Alter_priv = 'y',
        Show_db_priv = 'y',
        Super_priv = 'y',
        Create_tmp_table_priv = 'y',
        Lock_tables_priv = 'y',
        Execute_priv = 'y',
        Repl_slave_priv = 'y',
        Repl_client_priv = 'y',
        Create_view_priv = 'y',
        Show_view_priv = 'y',
        Create_routine_priv = 'y',
        Alter_routine_priv = 'y',
        Create_user_priv = 'y',
        Event_priv = 'y',
        Trigger_priv = 'y',
        Create_tablespace_priv = 'y';
    
  5. quitter mysql

  6. supprimer 'skip-grant-tables' de my.cnf sous la section [mysqld]

  7. redémarrer mysql

Ce devrait être tout !