2010-02-24 20 views

cevap

1

MySQL örneğinizde günlüğe kaydetme açıksa, günlükleri görüntüleyebilirsiniz. Bu en iyi seçenek olurdu. Sisteminizin geçmişi varsa, bir istemciyi aynı sistemden başlatabilir ve yukarı oku başlatabilirsiniz.

Oradaki komutu görebileceksin.

Komutu çalıştıran kullanıcıyı biliyorsanız ve doğrudan bir komut satırından çalıştırıldığını öğrendiyse, aynı tarih hilesi işe yarayabilir.

+0

http://dev.mysql.com/doc/refman/5.0/en/server-logs.html, yönetim için MySQL günlüğünün açıklamalarına bir bağlantıdır. – TheJacobTaylor

+0

Cevapladığınız için teşekkür ederim, phpmyadmin kullanıyorum ama herhangi bir geçmiş veya log seçeneği bulamıyorum. –

+0

Verilere ihtiyacınız varsa, sistem yöneticisinden sizin için sorgu günlüklerini almasını ister misiniz? Belirli bir günde "alter" ile kullanıcılarınızdan komutlar bulmasını sağlayın. Umarım yardımcı olabilirler. – TheJacobTaylor

4

Bir küçük açıklama: show create table aslında "daha önce çalıştırılanı geri getirme" aslında yapmaz. Sadece tabloyu sıfırdan oluşturacak DDL'yi gösterir. Tablo oluşturulmuş ve daha sonra birçok kez değiştirilmiş olabilir, ancak show create table tablonun mevcut durumunu yansıtır.

Son zamanlarda tablo üzerinde çalışan tüm alter table ifadelerini bulmak için, en iyi bahis ikili kayıttır. Daha sonra ilgili tablo adı için yazılması, SQL dönüştürmek için mysqlbinlog kullanın Eğer durum bu ise

show variable like 'log_bin'; 

, alakalı bir dönem boyunca ikili günlüğünü bulmak:

İlk onay ikili günlüğü etkin olup olmadığını görmek için Aradığınız alter table ifadesini bulmak için.

1

Araçları:

  • Maatkit. Kırmızı-Gate'in MySQL Şema & Veri karşılaştırın
  • Toad
  • sqlyog
  • MySQL Diff

Manuel: ikili günlüğü etkin olup olmadığını

İlk onay görmek için:

show variable like 'log_bin'; 
Sonra 0

,

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

Git alter ifadeleri görmek için test.file için.

İlgili konular