Se non è possibile modificare l'applicazione per registrare ciò che si invia a MySQL (normalmente, soluzione n. 1), né è possibile abilitare il registro di query generale (soluzione n. 2, ma sì, non per la produzione): è possibile usa il proxy MySQL. Vedere questo: https://github.com/mysql/mysql-proxy
MySQL Proxy è un programma leggero che è possibile inserire tra il client (script PHP) e il server MySQL. È possibile eseguire MySQL Proxy sullo stesso server in cui si esegue il server MySQL stesso e connettere i client alla porta proxy anziché al server MySQL direttamente (se non è possibile modificare il client, è possibile spostare il server MySQL su un'altra porta e configurare MySQL Proxy alla porta precedentemente utilizzata da MySQL Server).
Quindi, il proxy MySQL può essere esteso con script personalizzati, in cui lo script personalizzato può intercettare vari tipi di eventi: nuove connessioni, query inviate al server, ecc. Per le query si ha la flessibilità di registrarle o bloccarle, oppure modificare la query o aggiungere nuove query oltre a quelle effettivamente inviate, qualunque sia.
Cattive notizie: gli script personalizzati sono implementati in Lua
(
http://dev.mysql.com/doc/refman/5.5/en/mysql-proxy-scripting.html)
. Buone notizie: puoi trovare molti esempi di script Lua per il proxy MySQL. Ad esempio qui:
http://forge.mysql.com/wiki/Lua_Scripts_For_MySQL_Proxy_Examples
. In particolare, è possibile selezionare l'esempio "Blocca query indesiderate" e modificarlo in base alle proprie esigenze (in realtà non si bloccherà nulla, ma verranno stampate alcune query nel registro).
MySQL Proxy aggiunge un sovraccarico, ma in generale è piuttosto leggero. Se tieni anche gli script Lua leggeri, dovrebbe funzionare bene.
EDIT:
Il repository è stato aggiornato il 2014, e attualmente, il version archives dire questo:
MySQL Proxy non è GA, e non è raccomandato per l'uso in produzione.
Consigliamo MySQL Router per l'uso di produzione. Download MySQL Router »
MySQL Router non sembra che offra tristemente lo stesso tipo di funzionalità di MySQL Proxy.
a meno che non vediamo alcuni codice e errore sono sicuro che non saremo in grado di fornire molto aiuto. Quindi, per favore pubblica il tuo codice/errore – Satya
Satya @ L'errore non è legato a MySQL ma più alle nostre classi PHP di base. Quindi non è rilevante. Sto solo cercando modi per registrare UPDATE o INSERT SQL statement su 2 tabelle nel database. Grazie. – asyadiqin
Che cosa usi dal codice? PHP? Se sì, ti fornirò una soluzione rapida, sporca e perfettamente funzionante. –