Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je automatiser le dumping des tables MySQL dans des fichiers séparés ?

Mary-Kate Olsen
Libérer: 2024-10-27 04:46:02
original
619 Les gens l'ont consulté

How Can I Automate Dumping MySQL Tables into Separate Files?

Vider automatiquement les tables MySQL dans des fichiers séparés

L'utilitaire mysqldump intégré permet des vidages sélectifs de tables, mais nécessite des noms de tables prédéfinis . Pour une approche dynamique qui gère les ajouts de nouvelles tables, une solution automatisée est nécessaire.

L'une de ces solutions est un script shell qui interroge dynamiquement la base de données pour tous les noms de table et vide chaque table dans un fichier compressé distinct. Cela élimine le besoin de maintenance manuelle du nom de table dans le script de vidage.

Voici un exemple de script qui réalise cette fonctionnalité :

<code class="bash">#!/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 ) <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1

DB_host=
DB_user=
DB=
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"</code>
Copier après la connexion

Ce script demande le mot de passe de la base de données et interroge la base de données spécifiée. pour les noms de table et vide les données de chaque table sous forme de commandes SQL dans des fichiers compressés individuels dans le répertoire spécifié (ou le répertoire de travail actuel par défaut).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!