Mysql
 sql >> Database >  >> RDS >> Mysql

Ripristino dell'utente e della password "root" eliminati per MySQL

Ho un modo veloce e sporco

Ottieni qualcuno con diritti SysAdmin e procedi come segue:

  1. Aggiungi 'skip-grant-tables' a my.cnf nella sezione [mysqld]

  2. riavvia MySQL

  3. digita mysql senza password e premi invio

  4. Esegui questo:

    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. esci da mysql

  6. rimuovi 'skip-grant-tables' da my.cnf nella sezione [mysqld]

  7. riavvia MySQL

Dovrebbe essere tutto!