2010-02-24 4 views

Répondre

1

Si l'ouverture de session de votre instance MySQL est activée, vous pouvez afficher les journaux. Ce serait la meilleure option. Si l'historique de votre système est activé, vous pouvez démarrer un client à partir du même système et essayer la flèche vers le haut. Vous pourriez être en mesure de voir la commande là-bas.

Si vous connaissez l'utilisateur qui a exécuté la commande et qu'ils l'ont exécutée directement à partir d'une ligne de commande, le même tour d'historique peut fonctionner.

+0

http://dev.mysql.com/doc/refman/5.0/fr/server-logs.html est un lien vers les descriptions de la journalisation MySQL pour l'administration. – TheJacobTaylor

+0

merci pour la réponse, j'utilise phpmyadmin mais je ne peux pas sembler trouver n'importe quelle histoire ou option de notation. –

+0

Si vous avez besoin des données, pouvez-vous demander à l'administrateur du système d'obtenir les journaux de requêtes pour vous? Demandez-leur de trouver les commandes de votre utilisateur, avec "alter", le jour spécifique. J'espère qu'ils peuvent aider. – TheJacobTaylor

4

Une petite précision: show create table ne "ramène pas ce qui a été précédemment exécuté". Il vous montre juste le DDL qui créerait la table à partir de zéro. La table peut avoir été créée puis modifiée plusieurs fois, mais show create table reflète l'état actuel de la table.

Comme pour trouver toutes les instructions alter table qui ont couru sur la table récemment, le meilleur pari est le journal binaire.

Vérifiez d'abord si la journalisation binaire est activée:

show variable like 'log_bin'; 

Si elle est, trouver le journal binaire pour la période pertinente, utilisez mysqlbinlog pour le convertir en SQL, puis grep pour le nom de la table concernée pour trouver la déclaration alter table que vous recherchez.

1

Outils:

  • Maatkit.
  • MySQL Red-Gate schéma & données Comparer
  • crapaud
  • SQLYog
  • MySQL Diff

Manuel:

Vérifiez d'abord si la journalisation binaire est activée:

show variable like 'log_bin'; 

Ensuite,

mysqlbinlog /var/log/mysql/mysql-bin.000001 | grep 'alter table *tablename*' > test.file 

Aller à test.file voir les déclarations alter.

Questions connexes