所有MySQL数据库一夜之间丢失


15

在客户打来电话说他的网站已关闭之后,我发现RackSpace Cloud Windows 2008服务器上的MySQL未运行。我重新启动了MySQL,但对于所有具有MySQL数据库的网站,在浏览器中都出现了“拒绝用户访问”错误。当我在MySql Server 5.5 / data中查看时,除了mysql和performance_schema之外没有其他文件夹。看来所有数据库和数据都已擦除。有谁知道可能发生了什么以及数据去向何处?最重要的是,我刚刚发现我们的备份服务中缺少该服务器。

ps似乎是在今天早上4:01更新Windows之后。


您的系统和MySQL日志中是否有任何相关条目?
user9517

1
“最重要的是,我刚刚发现我们的备份服务中缺少该服务器。” 哎哟。
Tom O'Connor

当我启动MySQL时,日志文件于今天上午09:00开始:InnoDB:日志文件。\ ib_logfile0不存在:将要创建的新文件InnoDB:将日志文件。\ ib_logfile0的大小设置为5 MB InnoDB:数据库实际将文件写满:等等...
Iain 2012年

1
这比上次尝试要多,但也许您可以尝试一些数据恢复软件。但是,您应该尽快关闭服务器电源,然后脱机访问磁盘。
2012年

7
您确定要在正确的目录中查找吗?一个人可能已经datadir在不重新加载MySQL的情况下更改了配置文件,然后仅在重新启动MySQL之后(可能是由系统更新触发)才会出现此问题。
gertvdijk 2012年

Answers:


32
  1. 联系Rackspace支持。这就是他们的目的。
  2. 做他们建议的一切。
  3. 如果那不起作用,请尝试Dan关于数据恢复软件的建议。
  4. 以此为发展和学习的机会。

始终确保已备份所有服务器,并定期测试备份。如果您从未真正测试过可以从中还原,则没有备份服务是没有意义的。

哦,关闭自动更新。一旦测试了更新的影响(最好在另一台配置相同的服务器上),就永远不要这样做。


6
+1这确实应该是回答以下问题的规范答案:询问如何还原尚未备份的数据。
dunxd 2012年

2
感谢您的帮助。gertvdijk使我处于正确的位置,在程序文件/ MySQL以及ProgramData / MySQL下也找到了数据文件夹,并在重新安装MySQL之后从数据文件夹和ibdata1文件的组合中恢复了数据文件夹。至于导致损坏并阻止MySQL启动的原始问题的原因,我唯一的线索是今天凌晨4点进行Windows更新,但不能肯定是这样。突出显示了该服务器从备份程序中省略了,那将是有问题的那台服务器。
伊恩

1
您应该考虑更改服务器设置,以使系统更新不会自动且无人值守安装,除非您通过其他方法来控制要安装的更新。如果更新以破坏客户网站的方式改变了系统行为,该怎么办?
CVn 2012年

5
这是临界点,但是请考虑将您的mysql数据库移至linux服务器。他们的自动安全更新不会重启服务器,每个主要发行商都将使用mysql之类的核心程序来测试更新的兼容性(另一方面,Microsoft或Oracle都不会针对Windows更新来测试mysql)。备份cronjob可能比大多数Windows备份软件更简单,更可靠。
布莱恩·沃特斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.