2013-06-10 12 views
6

Çalışmıyor:başka MySQL yükle için Düz Dosyasına MySQL Veri RDS - Std CLI Aşağıdaki değerlendirilmiş feshetmesi kurmak için

  • Amazon-RDS database to Dedicated server
  • Mysqldump of the AWS RDS
  • Ben ancak bulamadım Buradaki sorunlara açık bir çözüm, ve sadece yanlı factoidler boyunca - AWS RDS'nin içine/çevresine veri taşımak için kapsamlı bir spesifik kılavuz koymak istedim.

    Ben RDS ile çalışan bir DBA danışmanı ile Percona MySQL performans konferansında bir tartışma var mı, o aşağıdaki önerdi ve bu sık sık görünüşte bir konudur - Herkese yardım çaba ek girişi istedik .

** Bu Büyük Bir MySQL Danışmanlık firması ve konuşma yetiştirilen el sayısına göre RDS kullanıcıları için önemlidir. **

  • Hedef 1. RDS Örneğinizdeki verileri alın -RDS içindeki büyük sürümler arasında hareket edemezsiniz. -Belki, Percona vb. Gibi EC2 örneğine almak isteyebilirsiniz.
  • İstek Listesi Hedef # 1a. Sırasıyla, Veri/QA, mümkünse verileri temizleyin,
  • Hedef 3 - Verileri başka bir küçük RDS'ye veya diğer lezzet/platformuna geri alın.

gerçekler:

  1. MySQL 5.5.x (< 5.5.8) büyük (öncelikle UTF-8 40-50GB veri kümesi, bir Latin-1) vardır. 1a. Her ne sebeple olursa olsun eski yönetici, örnek büyüklüğümüzü yalnızca dolgu malzemesi olan 1000 GB'lık özel depolama alanına ayarladı. (?).
  2. Artık tüm tablolar artık, InnoDB - çift masa yaklaşık ~ 14GB. Bu başka bir sorun.
  3. Çoklu kodlama mevcut olabilir: belki UTF8; Latin-1 ve İsveççe-fkafkakfk?

    Seçenek A:

Yani bu ben devam etmek tartışmaya duyuyorum seçeneklerdir Düz .sql dökümü; .Sql standart şema yürütülebilir ve tablolar vb topluca, yeniden içinde,

  1. dökümü yeniden .Sql.
  2. ** Yani taşınabilirlik için latin-1 thininking edildi: mysqldump -u username -p --default-character-set=latin1 -N database > backup.sql mysql -u username -p --default-character-set=latin1 database < backup.sql**

Soru RE: Seçenek A: - Öneriler yeniden: kodunun üzerinde, chunking bütünlüğü ve aksi için pürüzsüz bir dökümü garanti etmek ve yeniden yüklemek? Değişken kodlar ile show information schema için Riskler (işlemek için Algoritma nedir latin1 olamaz?)

Seçenek B:/Şemaya + QA/Şema incelik

  1. Dökümü w tabloların Bireysel ASCII dosya dökümleri düz olarak ASCII'de (Charset? UTF-8? Dikkatli olmalıyım?) bu veriler, ilgili tabloları ayırabilir, belki de QA verileri için parçalar halinde.

    çıkış TSV VERİ için aşağıdaki ve SCHEMA devam ederim:

    mysqldump --user=dbuser --password --tab=~/output/dir dbname

  2. İkincil olarak, olası hatalı önemsiz karakter temizlemek için bazı Perl/Python ile işletilmektedir ve kodlama sorunları; vb 5 farklı DBA 8 yıl ve yaklaşık 12 farklı veri girişi formatı/dosya türleri.

Sorular: RE: Seçenek B:

  • My veri verilerine doğruysa çöp karakter bir yeri vardır; Boru en iyisi mi?
  • Temel döküntülerden TSV'den gelen AWS RDS'ye yüklenen korkunç hatalar, veri yükleme teknik incelemesinde yayınlananların ötesinde öneriler var mı?

cevap

0

şiddetle veri taşımak için bir ETL aracı kullanmaktır Seçenek C, öneririm. Pentaho Veri Entegrasyonu'nun Topluluk baskısını, sorduğunuz türden (özellikle temizlik) yapmak için çok başarılı bir şekilde kullandım. Basit bir çöplükten ve yükten daha fazla iş var, ama çok iyi bir kontrole sahipsin ve daha sonra tekrar tekrar senkronize etmek gibi şeyler yapabilirsin.