2010-11-10 14 views
20

MySQL'de kaynak komutunu kullanarak foo.sql dosyasını çalıştırmaya çalışıyorum. Ben komutu yazdığınızdaÇıktı MySQL kaynak sonuçları günlük dosyasına

, dosya buna göre kaynaklı:

mysql> source ~/foo.sql 

Şimdi, tabloların bir sürü bu dosyada yürütülmektedir ve ben bu tabloların başarı/başarısızlık değerlendirmek istiyoruz vardır. İfadelerin sonuçlarını bir günlük dosyasına, foo.txt'e aktarmanın bir yolu var mı?

Ben çizgisinde bir şey düşünüyorum: Bu komutu yazarak kaynak deyimi aşağıdaki her şeyin varsaymak görünür Ancak

mysql> source ~/foo.sql into outfile ~/foo.txt 

bir dosya adıdır; bu yüzden, '~/foo.sql' isimli bir dosyaya, ~/foo.txt 'dosyasına girmeye çalışılıyor.

+0

"Çağrı" komutunu kontrol ettiniz mi? – Konerak

cevap

37

, O noktadan sonra tip

tee session.out 

, mevcut istemci oturumunuzdaki tüm G/Ç'leri 'session.out' dosyasına yazılır

+0

Teşekkürler, tam olarak aradığım şey buydu. – Isaac

+10

Ayrıca, çıkışı durdurmak istiyorsanız, sadece “notee” yazın ([kaynak] (http://dev.mysql.com/doc/refman/5.0/en/mysql-commands.html)) –

+0

Harika yanıt! ! – Amol

4

Kabuk isteminde bakarak söyleyebilirdi:

$ mysql -p dbname <foo.sql> foo.txt 
2

komut satırını kullanın: MySQL istemcisi içinden

mysql -p dbname < ~/foo.sql > ~/foo.txt 
+0

Bunu denedim, ancak oluşturulan dosya hiçbir şey içermiyor. – Isaac

+1

Veritabanı istediğiniz gibi yüklediniz mi? Dosyaya yalnızca hata mesajları eklenir. Oh, geçmiş hataları devam ettirmek için bir komut satırı seçeneği vermediğiniz sürece, ilk hatada da duracaktır. – SorcyCat

+0

İlk başta hatasız tamamlandı. Daha sonra tekrar denedim ve max_allowed_packet'i 5M'ye ayarlayarak kasıtlı olarak hata yapmam gerekiyor. Bir hata oldu ama foo.txt bu hatayı listelemedi. – Isaac

İlgili konular