Mysql裡面某一table的部分資料莫名的被刪了,請問如何找到原因?

來源:互聯網
上載者:User
資料庫是Mysql的,有個user table.裡面目前有144059個使用者資訊。最近有反饋就是有一些使用者以前註冊過,然後過一段時間發現不能登入,需要重新註冊一下。網站是PHP的。得到反饋後就檢查了一下cron job和日誌等,都沒找到原因。(不能登入的原因就是該使用者的資訊被刪了)

所以,想請教一下,該從哪方面入手比較好。

+++++++++++++++++++++++++++++++++++++++++++
修改了一些許可權之後,使用者丟失的情況就沒有發生過了(已經過了2個月了)。不過,以前丟失使用者的原因一直沒找到。
反正,結案咯。

回複內容:

資料庫都有log的(指的不是給人看的那些文本log),你找到那條delete語句的transaction id,然後復原到那裡就好了。把能接觸到資料的程式員全部抓起來,然後老虎凳,辣椒水,不出一個小時,就會有人承認是自己偷偷刪的。找原因呢,就分析log
log資訊如果不全那該補全就補全
另外沒有人懷疑 sql inject 嗎? MySQL開啟binlog後,寫入操作都會記錄到二進位日誌裡,可以使用mysqlbinlog查看/匯出/恢複資料.

假設你之前進行了 mysqldump全量備份,和binlog增量備份(在mysqldump全量備份時使用參數--flush-logs清除全量備份前的binlog).

先恢複之前用mysqldump進行的全量備份,然後用 mysqlbinlog進行還原時間點:

mysql -uroot -prootpwd db_name < db_name.sql mysqlbinlog --stop-datetime="2013-10-12 12:30:00" /var/log/mysql/mysql-bin.000001  |  mysql -uroot -prootpwd
先查查代碼邏輯吧,莫名其妙丟掉幾條記錄不大可能是資料庫本身或者硬碟的問題。你就算把資料找回來,代碼邏輯上不對,以後還是會丟資料。硬碟資料丟失!以percona 5.6為例:
有兩種方法:
1 使用general_log
2 使用審計外掛程式

一 使用general_log
開啟general_log
set global general_log=on;  mysql> show variables  where value like '%table%'    -> ;+------------------------------+-----------------------+| Variable_name                | Value                 |+------------------------------+-----------------------+| log_output                   | TABLE                 || slave_rows_search_algorithms | TABLE_SCAN,INDEX_SCAN || tx_isolation                 | REPEATABLE-READ       |+------------------------------+-----------------------+3 rows in set (0.00 sec)
可以使用Datahekr 資料庫中介軟體,有SAAS版本的,能提供比資料庫內建LOG功能更詳細的審計資訊。資料庫裡面有慢查詢日誌和執行的SQL日誌,錯誤記錄檔等等
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.