我相信我删除了在事故中的表“mysql的”,然后让maked这个错误“表mysql.user这么想的存在”mysql - 我删除了用户表!我怎样才能恢复它?
我怎么能解决这个问题,或者创建一个新表“MySQL的”
我相信我删除了在事故中的表“mysql的”,然后让maked这个错误“表mysql.user这么想的存在”mysql - 我删除了用户表!我怎样才能恢复它?
我怎么能解决这个问题,或者创建一个新表“MySQL的”
请注意,您并不只是删除表格 - 您删除了整个mysql权限数据库。 您需要找到脚本'mysql_install_db'。这将重新创建mysql权限数据库。
请注意,通过删除并重新创建权限数据库 - 其他应用程序可能会停止工作,因为其用户/ etc不再存在。
有没有很多,你可以做。如果你可以运行查询和最近备份使用“BACKUP TABLE”整个数据库,那么你可以尝试运行此查询:
RESTORE TABLE mysql.user FROM '/path/to/backup/directory'
如果你不能,那么你将有“--skip执行mysql的-grant-tables'选项。这将允许你获得获取权限。您还可以通过运行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 | |
+-----------------+---------------+------+-----+---------+-------+
顺便说一句,我怎么能删除一个名为'my/db'的数据库,我使用'drop database my/db'来显示我的语法错误。 – coolesting
数据库名称应该(通常不能)包含\或/。正常的命名约定使用CamelCase和_命名。 http://dev.mysql.com/doc/refman/5.1/en/identifiers.html - 8.2。模式对象名称 –
但在创建之前,它有一个名为'my/db'的表,我只想删除它? – coolesting
您还可以通过运行在MySQL/bin目录中找到文件修复mysql_upgrade。 只需运行该文件,它将修复所有表格。
正在运行mysql_update -uroot -v -f给我:\ bin> mysql_upgrade -u root --force mysql_upgrade:出错:1524:插件'* 3341D225A70FDF32F7D6E158192BF9A65654BE7F'在连接到MySQL服务器时未加载 升级过程遇到错误并且将不会继续。 – FMaz008
应用程序的好处。我忘了在我的回答中加上 –
@詹姆斯 - 谢谢 - 只知道这个,因为我以前打过这堵墙;-) –
所以我不小心也这样做了(试图迁移数据库并意外将它迁移到自己。 ..)但我的用户仍然可以登录。是用户\密码缓存? – dangel