2016-09-27 73 views
1

我有一个PHP应用程序在生产服务器上,它的目的是为用户注册一些服务。它有两种形式,它们将用户注册到与我的数据库不同的表中。表被从phpmyadmin中删除

问题是,今天其中一个表消失了,我可以从备份中恢复它。但是这不能解决问题。

我该如何调查这一点,以确定如何丢失表,并最有可能通过一些机器人或其他东西丢弃。

你会如何处理这种情况?

+0

检查您的访问日志,您可能因未使用准备好的语句而被黑客入侵;它可以是任何东西。 –

回答

0

有两种方法:

有一个系统的工作备份,并从中恢复文件。 如果您最近删除了数据库,并且最好(如果您之后拔掉了计算机的话),取消删除工具可能会有所帮助。 至于做到这一点与MySQL,尽管...我知道的所有系统上,没有。 MySQL表格是服务器数据目录中的文件,删除表格会删除这些文件。一旦它们消失了,它们就消失了,只有上面的方法才能使它们恢复原状。数据库是这些文件的目录,删除它将删除整个目录。

检查这个免费软件

http://www.majorgeeks.com/Restoration_d4474.html

这里更多信息 - http://emaillenin.blogspot.com/2010/11/recover-accidentally-deleted-mysql.html

+0

我已经从备份中恢复数据库。我如何研究该表如何下降? – Daniel

+0

很难说它是如何完成的。 – Abhinav

+0

SHOW VARIABLES like'%log_file%' 试试这个quary,它会告诉你日志文件在哪里,并对这些文件进行调查。 – Abhinav

0

如果你的表得到了下降,找出MySQL用户有权限删除表(不应该有很多)以及使用该用户凭证登录的服务。 也许你有一个php后端不会清理(转义)输入的web表单,所以你可能会开放sql注入。 在这种情况下,您可以检查您的网络服务器访问日志。