Methode zum Aufteilen großer mysqldump-Ausgaben in kleinere Dateien
Beim Übertragen großer MySQL-Tabellen zwischen Datenbanken kann die komprimierte mysqldump-Ausgabe die maximale Dateigröße überschreiten Größe, die für den Import in das Ziel zulässig ist. Um diese Herausforderung zu meistern, können Benutzer die folgenden Methoden anwenden:
Dump-Datei mit csplit teilen
Ein Bash-Skript kann verwendet werden, um eine mysqldump-Datei in separate Dateien aufzuteilen jeder Tisch. Dieses Skript nutzt das Dienstprogramm csplit, um Dateien basierend auf bestimmten Mustern zu erstellen:
START="/-- Table structure for table/" if [ $# -lt 1 ] || [[ == "--help" ]] || [[ == "-h" ]] ; then echo "USAGE: extract all tables:" echo " DUMP_FILE" echo "extract one table:" echo " DUMP_FILE [TABLE]" exit fi if [ $# -ge 2 ] ; then #extract one table csplit -s -ftable "/-- Table structure for table/" "%-- Table structure for table \`\`%" "/-- Table structure for table/" "%40103 SET TIME_ZONE=@OLD_TIME_ZONE%1" else #extract all tables csplit -s -ftable "$START" {*} fi [ $? -eq 0 ] || exit mv table00 head FILE=`ls -1 table* | tail -n 1` if [ $# -ge 2 ] ; then # cut off all other tables mv $FILE foot else # cut off the end of each file csplit -b '%d' -s -f$FILE $FILE "/40103 SET TIME_ZONE=@OLD_TIME_ZONE/" {*} mv ${FILE}1 foot fi for FILE in `ls -1 table*`; do NAME=`head -n1 $FILE | cut -d$'\x60' -f2` cat head $FILE foot > "$NAME.sql" done rm head foot table*
Verwenden von --extended-insert=FALSE mit mysqldump
Diese Option generiert eine SQL Datei, die in importierbare Dateien aufgeteilt werden kann. Split kann mit der Option --lines verwendet werden, um die Anzahl der Zeilen pro Datei zu steuern. Mit Trial-and-Error- oder Komprimierungstools wie bzip2 lässt sich für jede Dateigröße die passende Zeilenanzahl ermitteln.
Das obige ist der detaillierte Inhalt vonWie kann ich eine große mysqldump-Ausgabe in kleinere Dateien aufteilen, um die Übertragung und den Import zu erleichtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!