Arbeiten Precident Um festzustellen, ich die folgende Bewertung:RDS MySQL Daten in eine Flat File in einem anderen MySQL neu laden - Std CLI Nicht
- Amazon-RDS database to Dedicated server
- Mysqldump of the AWS RDS
Ich habe jedoch nicht gefunden eine klare Lösung für meine Probleme in diesen, und nur ergänzende factoids überall - ich wollte eine umfassende spezifische Anleitung zum Verschieben von Daten in/um AWS RDS setzen.
Ich habe eine Diskussion auf der Percona MySQL Performance Konferenz haben mit einem DBA-Berater, der mit RDS arbeitet, schlug er die folgende, und dies ist offenbar ein Problem häufig - ich zusätzliche Eingang in den Bemühungen wollte, dass jeder helfen .
** Dies ist wichtig für die RDS-Benutzer nach einem großen MySQL Beratungsunternehmen und die Anzahl der Hände beim Vortrag angehoben. **
- Tor # 1. Holen Sie die Daten aus Ihrer RDS-Instanz. -Sie können nicht zwischen den Hauptversionen innerhalb von RDS wechseln. - Vielleicht möchten Sie es zu EC2 Instanz wie Percona, etc.
- Wunschliste Ziel # 1a. Secondary, Clean/QA die Daten nach oben, wenn möglich,
- Ziel # 3 - Holen Sie sich die Daten zurück in eine andere kleinere RDS oder andere Geschmack/Plattform.
Die Fakten:
- Ich habe einen großen (40-50GB-Datensatz in utf-8 in erster Linie, einig Latin-1) in MySQL 5.5.x (< 5.5.8). 1a. Der alte Admin setzt aus irgendeinem Grund unsere Instanzgröße auf 1000 GB dedizierten Speicher, der nur auffüllen soll. (?).
- Alle Tabellen sind jetzt, offensichtlich InnoDB - ein paar Tabellen sind ~ 14GB. Das ist ein anderes Problem.
- Multi-Codierung kann existieren: vielleicht UTF8; Latin-1 und Schwedisch-fkafkakfk?
So mit, dass diese Optionen, die ich mit gehen bin debattieren:
Option A: Gerade .SQL Dump; .SQL nachladen
- Kippe, in .SQL Standard das Schema-Anwendungen und Tabellen usw. en masse, neu zu laden.
- ** So wurde thininking Latin-1 für die Portabilität:
mysqldump -u username -p --default-character-set=latin1 -N database > backup.sql
mysql -u username -p --default-character-set=latin1 database < backup.sql**
Frage RE: Eine Option: - Vorschläge re: über Code, für Chunking, Integrität und sonst garantiert einen reibungslosen Dump und Reload? Zufälligkeiten für
show information schema
mit variabler Encodierungen (Algorithmus für den Umgang mit was latin1 nicht?)
Option B: Einzelne ASCII-Datei Dumps von Tabellen w/Schema + QA/Schema Verfeinerung
Dump , in geradem ASCII (Charset? UTF-8? Ich muss vorsichtig sein?) diese Daten in separate Tabellen, vielleicht in Chunks für Daten QA.
Würde fahren Sie mit der folgenden Ausgabe TSV DATA und SCHEMA:
mysqldump --user=dbuser --password --tab=~/output/dir dbname
Zweitens, durch einige Perl/Python laufen möglich verirrten Junk-Zeichen zu bereinigen; Kodierungsprobleme; usw. von 8 Jahren von 5 verschiedenen DBAs und ungefähr 12 verschiedenen Dateneingabeformaten/Dateitypen.
Fragen RE: Option B:
- Meine Daten eine Menge Müll Zeichen hat, die auf die Daten wahr sind; Rohrleitung das beste?
- Ich hatte schreckliche Fehler beim Laden in AWS RDS von TSV usw. von grundlegenden Dumps, Vorschläge jenseits dessen, was in ihren Daten geladen Whitepaper veröffentlicht wird?