在 mysql 中重新创建一个 `mysql.user` 表

天涯

我发现我的mysql.user表搞砸了并drop table if exists mysql.user用来删除它,我如何手动创建这个特殊的表并将我的新帐户添加到其中。

戴维男孩

注意我从来没有尝试过这个,所以我不知道它是否会起作用。你被警告了!!

在您执行任何操作之前,请关闭 MySQL 服务并备份数据文件夹(将其复制到其他地方)。

接下来,尝试创建一个新的数据目录并运行mysql_install_db(从 MySQL 安装目录,scripts/mysql_install_db --datadir=<new data directory>),或者使用虚拟机并执行相同的操作。无论您做什么,都不要安装到原始文件夹中。使用相同版本的 MySQL 来执行此操作

无论您使用哪种方法,从<mysql data folder>/data(它们应该被称为user.MYD,user MYIuser.frm)中获取生成的文件并将它们复制到损坏的文件夹中。确保用户权限与文件夹的其余部分相同(所有者和组应为读/写)。

重启你的MySQL服务,看看是否可以进入系统(不需要登录信息,但是你必须以 的身份登录MySQL root。如果可以,重新创建相关用户进行应用访问。如果不能,你仍然有数据文件夹的备份。

如果它不起作用,并假设您有最近的备份,请完全使用重新创建数据文件夹mysql_install_db(确保您仍然拥有开始之前的文件夹副本),创建用户,然后从上次的良好备份中一一还原您的个人数据库。不要恢复mysql数据库和表 - 它们将在您恢复其他数据库时构建。

首先在虚拟机上尝试所有这些 - 它会帮助您在此过程中发现任何问题

祝你好运

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章