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

mysql - Ich habe die Benutzertabelle gelöscht! Wie kann ich es wiederherstellen?

Es gibt nicht viel, was Sie tun können. Wenn Sie Abfragen ausführen können und kürzlich die gesamte Datenbank mit "BACKUP TABLE" gesichert haben, können Sie versuchen, diese Abfrage auszuführen:

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

Wenn dies nicht möglich ist, müssen Sie mysql mit der Option „--skip-grant-tables“ in der Befehlszeile ausführen. Dadurch erhalten Sie zumindest Zugriff. Sie können es auch neu erstellen, indem Sie den Befehl mysql_install_db ausführen. Hier gefunden

In jedem Fall sollte Ihre Tabelle so aussehen

 +-----------------+---------------+------+-----+---------+-------+ 
 | 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 | | 
 +-----------------+---------------+------+-----+---------+-------+