Ich habe eine RDS MySQL-Datenbank bei Amazon Web Services.
Ich möchte die Größe der Datenbank im Control Panel reduzieren, um Geld zu sparen.
F: Wie mache ich es kleiner? Ihre Seite sagt, dass Sie es auf magische Weise tun müssen (von Backups oder dergleichen), aber ich möchte es nicht fälschlicherweise schlagen!
Schritt für Schritt bitte ... Danke!
Folgendes ist passiert: Amazon hat gefragt, wie groß meine gewünschte maximale Größe sein soll. Ich habe 10 GB gewählt. Ich habe dann Daten hinzugefügt, bis die Tabelle 10 GB überschreitet. Amazon hat dann die Größenbeschränkung automatisch auf 20 GB erhöht. In ihrem Handbuch geben sie an, dass "Erhöhen" automatisch erfolgt, "Verringern" jedoch nicht.
Gibt es eine Möglichkeit, eine neue 10-GB-Datenbank zu erstellen und die Daten mithilfe eines Schnappschusses darauf zu kopieren, nachdem einige der überschüssigen Daten entfernt wurden, sodass die Datengröße wieder unter 10 GB liegt?
quelle
Requested storage size (5) cannot be less then the current storage size (10)
.Antworten:
Schreiben Sie ein Skript, das ein Skript erstellt
Wenn Sie zufrieden sind, dass das Skript die Aufgabe übernimmt, gehen Sie wie folgt vor:
Versuche es !!!
VORBEHALT
Da der Standardwert für innodb_file_per_table ON ist, wird die
.ibd
Datei jeder zu optimierenden InnoDB-Tabelle tatsächlich verkleinert. Bei allen MyISAM-Tabellen (von denen ich hoffe, dass Sie sie nicht haben) werden auch ihre.MYD
und.MYI
Dateien verkleinert.UPDATE 18.09.2012 18:19 EDT
Ich habe gerade Folgendes versucht:
Requested storage size (5) cannot be less then the current storage size (10)
)Wenn ich den Snapshot wiederherstelle, wird eine dritte Instanz erstellt. DB Snapshot muss die gesamte Serverinstanz sein, kein Dump.
Sie müssen das folgende unordentliche Verfahren ausführen:
Führen Sie in Schritt 4 diese Big Storage Engine-Speicherabfrage sowohl für die 20-GB- als auch für die 10-GB-Instanz aus
Sie werden sehen, wie viel verschwendeter Speicherplatz bei der Migration von mysqldump auf die neue 10-GB-Instanz verschwunden ist. Dies wird definitiv alle InnoDB-Tabellen defragmentieren. Möglicherweise müssen Sie das obige Skript (
/root/OptimizeAllTables.sql
) ausführen, das ich Ihnen oben gegeben habe, umOPTIMIZE TABLE
alle Tabellen in dersigns
Datenbank einmal pro Woche auszuführen , um das.ibd
so klein wie möglich zu halten . Sie können auch die zu überwachende Big Storage Engine-Speicherabfrage ausführen, wenn sie sich 10 GB nähert.quelle