Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gelöschten „root“-Benutzer und Passwort für MySQL wiederherstellen

Ich habe einen schnellen und schmutzigen Weg

Holen Sie sich jemanden mit SysAdmin-Rechten und gehen Sie wie folgt vor:

  1. Fügen Sie 'skip-grant-tables' zu my.cnf im Abschnitt [mysqld] hinzu

  2. mysql neu starten

  3. Geben Sie mysql ohne Passwort ein und drücken Sie die Eingabetaste

  4. Führen Sie Folgendes aus:

    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. Beenden Sie mysql

  6. Entfernen Sie „skip-grant-tables“ aus my.cnf im Abschnitt [mysqld]

  7. mysql neu starten

Das sollte alles sein!