上周我们做了一个大型站点迁移,转储了大约1200个mysql数据库并恢复了它们。但是在这个过程中,我们恢复了"mysql“数据库,然后我们失去了已经在新服务器上创建的所有权限和用户。
有没有办法重新生成mysql数据库?我不介意失去用户和特权,但我不想将旧用户带到这个新服务器。
提前感谢您的帮助。
发布于 2017-02-13 22:39:12
很遗憾听到你破坏了你的数据!大多数有经验的DBA都会在像您这样的导入之前进行备份,因为我们都至少犯过一次您所描述的错误。
如果您在重写MySQL数据库后重新启动了mysql,那么不,您就不走运了。您已经覆盖了数据,在重新启动后,它现在是该服务器使用的正式用户、密码和权限集。
在这种情况下,您唯一的机会就是在旧数据被覆盖之前对其进行另一次备份。
如果您只是覆盖了数据,但还没有发出刷新权限,而且您还没有重新启动MySQL服务器,那么旧的授权仍然在内存中。您可以使用像pt-show-grants这样的工具来恢复它们。
注如果您使用Percona 5.7,这会暂时中断pt-show-grants,因此您至少需要使用2.2.20版本的MySQL工具包进行修复(有关详细信息,请参阅https://bugs.launchpad.net/percona-toolkit/+bug/1435370 )。
https://stackoverflow.com/questions/42205136
复制相似问题