2016-09-27 77 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注入。 在這種情況下,您可以檢查您的網絡服務器訪問日誌。