mysql - 我删除了用户表!我怎样才能恢复它?

标签 mysql

我确定我不小心删除了表'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/

相关文章:

MySQL如何处理错误: Subquery returns more than 1 row?

mysql - 如何在 MySQL 中为 SET 类型设置超过 1 个默认值?

mysql - 在mySQL中查找每个组中的成员总数

php - 检查用户权限

mysql - 全文搜索添加与其他表的关系但返回 0 个结果

c# - 获取整个表 - MySQL 错误

php - 如何从 MySQL 中获取 ORDERED 和有限的行并随机显示顺序

mysql - mysqldump 错误 : mysqldump: [ERROR] unknown variable 'database=someDb'

mysql - 减少 ubuntu@aws 微实例上 mysql 的内存消耗

mysql - RMySQL添加空格查询导致失败