我确定我不小心删除了表'mysql',然后标记了这个错误“表mysql.user不存在”
我该如何修复它,或者创建一个新表'mysql'
最佳答案
您无能为力。如果您可以运行查询并且最近使用“BACKUP TABLE”备份了整个数据库,那么您可以尝试运行这个查询:
RESTORE TABLE mysql.user FROM '/path/to/backup/directory'
如果不能,则必须在命令行中使用“--skip-grant-tables”选项执行 mysql。这将允许您至少获得访问权限。您还可以通过运行 mysql_install_db 命令重新创建它。 Found Here
无论哪种方式,您的表格都应如下所示
+-----------------+---------------+------+-----+---------+-------+
| 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 | |
+-----------------+---------------+------+-----+---------+-------+
关于mysql - 我删除了用户表!我怎样才能恢复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7816124/