您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關MySQL中怎么找回用戶數據,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
解決過程
1、首先想到的是直接從定時備份數據里面找回原來的用戶ID,結果發現系統只備份了十天的記錄,而工作流系統上顯示銷售C只有8月3號以后的流程記錄,距今已經40多天,從自動備份的數據里已經無法恢復。
2、所以,只能從數據庫的二進制記錄里分析了。進入MySQL數據存放的目錄:
3、通過分析文件修改時間,得知刪除操作的動作在mysql-bin.000014文件里面記錄。
4、因為日志文件是二進制的,所以導出日志為sql文件:
mysqlbinlog --no-defaults mysql-bin.000014 > workflow_operator.sql
5、日志記錄比較大,導出后有132M,壓縮打包文件并下載到本地,只有15.2M
tar -czvf workflow_operator.tar.gz workflow_operator.sql
6、在本地使用文本工具,查找所有的刪除用戶的操作:
***定位刪除銷售C的動作在127766行(雖然日志記錄行數比較多,但是刪除用戶的動作比較少,所以好排查)
7、用戶ID找到了,所幸的是,因為只刪除了用戶,沒有刪除流程數據(因為流程數據是要存檔的),所以只要把銷售C的舊流程數據user_id換成新的user_id就可以了,流程表比較多,通過體力勞動,找出有舊ID的表,然后再使用update語句一起更新,終于找回了所有數據:
(***四位由于涉及隱私,使用XXX代替)
update flow_fr_borrow set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_fr_cost set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_fr_fixedasset set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_fr_house_lease set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_fr_purchase set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_fr_travel set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_hr_positive set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_pr_equip_borrow_sale set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_pr_equip_return set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_sa_tepe set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_sa_safore set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_sa_authorize set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_sa_business set user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where user_id = '66adfd032ccf428d9e20e864f729xxxx'; update flow_hr_trial set sel_user_id = 'e76cb8bccaf74f32b94d17f74437xxxx' where sel_user_id = '66adfd032ccf428d9e20e864f729xxxx' ; update wf_hist_order set creator = 'e76cb8bccaf74f32b94d17f74437xxxx' where creator = '66adfd032ccf428d9e20e864f729xxxx'; update wf_hist_task set operator = 'e76cb8bccaf74f32b94d17f74437xxxx' where operator = '66adfd032ccf428d9e20e864f729xxxx'; update wf_order set creator = 'e76cb8bccaf74f32b94d17f74437xxxx' where creator = '66adfd032ccf428d9e20e864f729xxxx'; update wf_hist_task_actor set actor_Id = 'e76cb8bccaf74f32b94d17f74437xxxx' where actor_Id = '66adfd032ccf428d9e20e864f729xxxx';
以上就是MySQL中怎么找回用戶數據,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。