„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich das Dumping von MySQL-Tabellen in separate Dateien automatisieren?

Wie kann ich das Dumping von MySQL-Tabellen in separate Dateien automatisieren?

Veröffentlicht am 21.12.2024
Durchsuche:235

How Can I Automate Dumping MySQL Tables into Separate Files?

MySQL-Tabellen automatisch in separate Dateien sichern

Das integrierte Dienstprogramm mysqldump ermöglicht selektive Tabellen-Dumps, erfordert jedoch vorab festgelegte Tabellennamen . Für einen dynamischen Ansatz, der neue Tabellenzusätze verarbeitet, ist eine automatisierte Lösung erforderlich.

Eine solche Lösung ist ein Shell-Skript, das die Datenbank dynamisch nach allen Tabellennamen abfragt und jede Tabelle in eine separate komprimierte Datei speichert. Dadurch entfällt die Notwendigkeit einer manuellen Tabellennamenpflege im Dump-Skript.

Hier ist ein Beispielskript, das diese Funktionalität erreicht:

#!/bin/bash

# Descr: Dump MySQL table data into separate SQL files for a specified database.
# Usage: Run without args for usage info.
# Author: @Trutane

[ $# -lt 3 ] && echo "Usage: $(basename $0) <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1

DB_host=$1
DB_user=$2
DB=$3
DIR=${4:-.}

[ -d $DIR ] || mkdir -p $DIR

echo -n "DB password: "
read -s DB_pass

tbl_count=0

for t in $(mysql -NBA -h $DB_host -u $DB_user -p$DB_pass -D $DB -e 'show tables') 
do 
    echo "DUMPING TABLE: $DB.$t"
    mysqldump -h $DB_host -u $DB_user -p$DB_pass $DB $t | gzip > "$DIR/$DB.$t.sql.gz"
    tbl_count=$(( tbl_count   1 ))
done

echo "$tbl_count tables dumped from database '$DB' into dir=$DIR"

Dieses Skript fordert zur Eingabe des Datenbankkennworts auf, fragt die angegebene Datenbank nach Tabellennamen ab und speichert die Daten jeder Tabelle als SQL-Befehle in einzelne komprimierte Dateien im angegebenen Verzeichnis (oder standardmäßig im aktuellen Arbeitsverzeichnis).

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3