【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦!
工作经由
有天,我们公司外区的一个发卖C说他8月3号以前的工作流记录找不到了。问清启事,本来是更新了微旌旗灯号(我们公司的工作流是基于企业微信开辟的)。经由分析,微旌旗灯号和流程数据并没什么关系,所以初步得出结论:本来只须要更新微旌旗灯号的,结不雅我们公司的流程体系治理员把用户先删除,再创建了新的用户。
解决过程
2、所以,只能大年夜数据库的二进制记录里分析了。进入MySQL数据存放的目次:
3、经由过程分析文件修改时光,得知删除操作的动作在mysql-bin.000014文件琅绫擎记录。
mysqlbinlog --no-defaults mysql-bin.000014 > workflow_operator.sql
5、日记记录比较大年夜,导出后有132M,紧缩打包文件并下载到本地,只有15.2M
tar -czvf workflow_operator.tar.gz workflow_operator.sql
4、因为日记文件是二进制的,所以导出日记为sql文件:
6、在本地应用文本对象,查找所有的删除用户的操作:
最后定位删除发卖C的动作在127766行(固然日记记录行数比较多,然则删除用户的动作比较少,所以好排查)
7、用户ID找到了,所幸的是,因为只删除了用户,没有删除流程数据(因为流程数据是要存档的),所以只要把发卖C的旧流程数据user_id换成新的user_id就可以了,流程表比较多,经由过程体力劳动,找出有旧ID的表,然后再应用update语句一路更新,终于找回了所稀有据:
- 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
推荐阅读
【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦! 一般来说,当检测到机能问题时,我们会收集覆盖了产生问题的时光段的AWR申报-然则最好只收集覆盖1个>>>详细阅读
本文标题:记一次MySQL找回用户数据的过程
地址:http://www.17bianji.com/lsqh/37580.html
1/2 1