Maison > base de données > tutoriel mysql > le corps du texte

Explication détaillée d'exemples de MySQL récupérant des données utilisateur

黄舟
Libérer: 2017-09-21 10:56:27
original
1080 Les gens l'ont consulté

Que s'est-il passé

Un jour, un commercial C d'un secteur extérieur à notre entreprise a déclaré qu'il n'avait pas pu trouver les enregistrements du flux de travail avant le 3 août. Lorsqu'on lui a demandé la raison, il s'est avéré que WeChat avait été mis à jour (le flux de travail de notre entreprise est développé sur la base d'Enterprise WeChat). Après analyse, nous avons constaté que l'ID WeChat n'a rien à voir avec les données de processus, nous sommes donc arrivés à la conclusion préliminaire : à l'origine, nous avions seulement besoin de mettre à jour l'ID WeChat, mais en conséquence, l'administrateur du système de processus de notre entreprise a d'abord supprimé l'utilisateur, puis a créé un nouvel utilisateur.

Processus de solution

1. La première chose qui vient à l'esprit est de récupérer l'ID utilisateur d'origine directement à partir des données de sauvegarde planifiées. enregistrements sauvegardés pendant dix jours. Le système de workflow montre que Sales C n'a que des enregistrements de processus après le 3 août. Cela fait plus de 40 jours depuis et ils ne peuvent pas être restaurés à partir des données de sauvegarde automatique.

2. Par conséquent, il ne peut être analysé qu'à partir des enregistrements binaires de la base de données. Entrez le répertoire où sont stockées les données MySQL :

3. En analysant l'heure de modification du fichier, nous avons appris que l'opération de suppression se fait dans le répertoire mysql- fichier bin.000014 Enregistrement.

4. Le fichier journal étant binaire, le journal est exporté sous forme de fichier SQL :

mysqlbinlog --no-defaults mysql-bin.000014 > workflow_operator.sql
Copier après la connexion

5 L'enregistrement du journal est relativement volumineux, 132 Mo après l'exportation, compressez le fichier et. téléchargez-le localement, seulement 15,2M

tar -czvf workflow_operator.tar.gz workflow_operator.sql
Copier après la connexion

6. Utilisez l'outil texte localement pour trouver toutes les opérations de suppression d'utilisateurs :

L'action finale de suppression de Sales C se situe à la ligne 127766 ( bien que la ligne d'enregistrement du journal Le nombre soit relativement grand, mais les actions de suppression d'utilisateurs sont relativement petites, il est donc facile de dépanner)

 

7 L'ID utilisateur a été trouvé. Heureusement, car seul l'utilisateur a été supprimé, pas les données de processus (car les données de processus doivent être archivées), il suffit donc de remplacer les anciennes données de processus user_id de sales C par le nouveau user_id. travail, recherchez la table avec l'ancien identifiant, puis utilisez l'instruction de mise à jour pour mettre à jour ensemble, et enfin récupérez toutes les données :

(Les quatre derniers chiffres sont remplacés par XXX pour des raisons de confidentialité)

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';
Copier après la connexion

Sales C a dit beaucoup S'il est content et m'invite à aller au Guizhou pour jouer, retrouve-le

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!