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

mysql - J'ai supprimé la table user ! comment puis-je le récupérer?

Il n'y a pas grand-chose que vous puissiez faire. Si vous pouvez exécuter des requêtes et que vous avez récemment sauvegardé l'intégralité de la base de données à l'aide de "BACKUP TABLE", vous pouvez essayer d'exécuter cette requête :

 RESTORE TABLE mysql.user FROM '/path/to/backup/directory'

Si vous ne pouvez pas, vous devrez exécuter mysql avec l'option '--skip-grant-tables' dans la ligne de commande. Cela vous permettra au moins d'y accéder. Vous pouvez également le recréer en exécutant la commande mysql_install_db. Trouvé ici

Dans tous les cas, votre tableau devrait ressembler à ceci

 +-----------------+---------------+------+-----+---------+-------+ 
 | Field | Type | Null | Key | Default | Extra | 
 +-----------------+---------------+------+-----+---------+-------+ 
 | Host | varchar(20) | | PRI | | | 
 | User | varchar(6) | | PRI | | | 
 | Password | varchar(41) | | | | | 
 | Select_priv | enum('N','Y') | | | N | | 
 | Insert_priv | enum('N','Y') | | | N | | 
 | Update_priv | enum('N','Y') | | | N | | 
 | Delete_priv | enum('N','Y') | | | N | | 
 | Create_priv | enum('N','Y') | | | N | | 
 | Drop_priv | enum('N','Y') | | | N | | 
 | Reload_priv | enum('N','Y') | | | N | | 
 | Shutdown_priv | enum('N','Y') | | | N | | 
 | Process_priv | enum('N','Y') | | | N | | 
 | File_priv | enum('N','Y') | | | N | | 
 | Grant_priv | enum('N','Y') | | | N | | 
 | References_priv | enum('N','Y') | | | N | | 
 | Index_priv | enum('N','Y') | | | N | | 
 | Alter_priv | enum('N','Y') | | | N | | 
 +-----------------+---------------+------+-----+---------+-------+