2010-03-26 6 views
2

Comment extraire les données du fichier journal binaire et les insérer dans notre table souhaitée dans MySQL? Je suis sur mon chemin de scripting d'un code PHP pour Audit Trail, dans ce cas, j'ai rencontré une situation que si il y aura une nouvelle table créée, je ne serai pas disponible avec des déclencheurs pour cette nouvelle table et donc aucun suivi pourrait être fait pour cela, donc si je le code pour créer trois nouveaux déclencheurs pour cette nouvelle table, alors comment va faire le dernier changement fait dans cette table? Par conséquent, j'ai trouvé que Binary Log File peut être utile pour moi dans ce cas, pour récupérer le dernier changement pour cette nouvelle table et l'insérer dans le tableau de suivi ... MAIS COMMENT?Comment extraire les données du fichier journal binaire et les insérer dans notre table souhaitée dans MySQL?

Répondre

2

Si vous parlez du fichier journal binaire MySQL (mysql-bin), il n'a pas été conçu pour être lu par autre chose que MySQL - c'est un fichier journal des transactions. Les données dans le fichier journal seront la plupart du temps déjà dans votre base de données au moment où vous les lisez. Peut-être que si vous éditez votre réponse pour fournir plus d'informations sur ce que vous essayez d'obtenir, vous obtiendrez peut-être une meilleure réponse et une meilleure solution.

EDIT:

analyse du fichier journal binaire va vous donner plus de maux de tête - c'est un fichier interne pour MySQL et est connu pour changer entre les versions. Il modifie également le format en fonction de la configuration du serveur (format basé sur une ligne/basé sur une instruction/mixte). Les administrateurs de serveur peuvent également désactiver complètement la journalisation binaire. Si vous êtes satisfait de la performance, il vaut mieux enregistrer toutes les requêtes - vous pouvez les écrire dans un fichier ou même dans une table de base de données (bien que dans les premières versions de MySQL 5.1, les Cela peut toujours être le cas.) Cela enregistre toutes les requêtes SQL reçues des clients, donc vous pouvez vérifier la requête CREATE TABLE et toutes les instructions modifiant les données de cette table.

http://dev.mysql.com/doc/refman/5.1/en/query-log.html

+0

Je suis sur mon chemin de script un code PHP Audit Trail, dans ce que je rencontrais une situation que s'il y aura une nouvelle table créée alors je ne serai pas disponible avec des déclencheurs pour cette nouvelle table et par conséquent aucun suivi n'a pu être fait pour cela, donc si je le code pour créer trois nouveaux triggers pour cette nouvelle table, alors comment va faire le dernier changement fait dans cette table? Par conséquent, j'ai trouvé que Binary Log File peut être utile pour moi dans ce cas, pour récupérer le dernier changement pour cette nouvelle table et l'insérer dans le tableau de suivi ... MAIS COMMENT? –

+1

Je dirais que si quelqu'un crée une nouvelle table dans une base de données que vous voulez vérifier, à votre insu, vos problèmes sont bien pires ... –

+0

Buddy Il doit être comme ça, je sais que le problème est pire, et que faire si à l'avenir, le nouveau module est intégré avec la nouvelle table, que même par tout autre fournisseur de services? Il ne sera pas au courant de cette situation, donc je dois avoir une solution pour cela ... s'il vous plaît Aidez-moi ... –

Questions connexes