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

mysql-我删除了用户表!我怎样才能找回它?,mysql,Mysql,我确信我在一次事故中删除了表'mysql',然后犯了这个错误“table mysql.user dosen not exist” 我如何修复它,或者创建一个新表“mysql”注意,您不仅删除了该表,还删除了整个mysql权限数据库。 您需要找到脚本“mysql\u install\u db”。这将重新创建mysql权限数据库 请注意,通过删除并重新创建权限数据库,其他应用程序可能会因为其用户/etc不再存在而停止工作 你能做的不多。如果您可以运行查询,并且最近使用“备份表”备份了整个数据库,则可

我确信我在一次事故中删除了表'mysql',然后犯了这个错误“table mysql.user dosen not exist”


我如何修复它,或者创建一个新表“mysql”

注意,您不仅删除了该表,还删除了整个mysql权限数据库。 您需要找到脚本“mysql\u install\u db”。这将重新创建mysql权限数据库


请注意,通过删除并重新创建权限数据库,其他应用程序可能会因为其用户/etc不再存在而停止工作

你能做的不多。如果您可以运行查询,并且最近使用“备份表”备份了整个数据库,则可以尝试运行此查询:

 RESTORE TABLE mysql.user FROM '/path/to/backup/directory'
如果不能,则必须在命令行中使用“--skip grant tables”选项执行mysql。这将允许您至少获得访问权限。您还可以通过运行mysql\u install\u db命令来重新创建它

无论哪种方式,你的桌子都应该是这样

 +-----------------+---------------+------+-----+---------+-------+ 
 | 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/bin目录中的文件mysql\u升级来修复此问题。
只要运行该文件,它就会修复您的所有表。

这是应用程序的一个好观点。我忘了把它加在我的表上answer@James-谢谢-只知道这一点,因为我以前撞过这堵墙;-)所以我不小心也这样做了(尝试迁移数据库,但不小心将其迁移到了自身…),但我的用户仍然能够登录。是否缓存了用户\密码?顺便问一下,如何删除名为“my/db”的数据库,我使用
删除数据库my/db
,这将显示语法错误。数据库名称应该(通常不能)包含\或/。正常命名约定使用CamelCase和u进行命名。-8.2. 模式对象名称,但在创建之前,它有一个名为
my/db
的表,我只是想删除它?运行mysql_update-uroot-v-f会告诉我:\bin>mysql_upgrade-u root--force mysql_upgrade:get error:1524:Plugin'*3341D225A70FDF32F7D6E158192BF9A65654BE7F'在连接到mysql服务器升级过程中遇到错误,将无法继续。