我发现我的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 MYI
和user.frm
)中获取生成的文件并将它们复制到损坏的文件夹中。确保用户权限与文件夹的其余部分相同(所有者和组应为读/写)。
重启你的MySQL服务,看看是否可以进入系统(不需要登录信息,但是你必须以 的身份登录MySQL root
。如果可以,重新创建相关用户进行应用访问。如果不能,你仍然有数据文件夹的备份。
如果它不起作用,并假设您有最近的备份,请完全使用重新创建数据文件夹mysql_install_db
(确保您仍然拥有开始之前的文件夹副本),创建用户,然后从上次的良好备份中一一还原您的个人数据库。不要恢复mysql
数据库和表 - 它们将在您恢复其他数据库时构建。
首先在虚拟机上尝试所有这些 - 它会帮助您在此过程中发现任何问题
祝你好运
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句