"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं MySQL तालिकाओं को अलग-अलग फ़ाइलों में डंप करने को कैसे स्वचालित कर सकता हूँ?

मैं MySQL तालिकाओं को अलग-अलग फ़ाइलों में डंप करने को कैसे स्वचालित कर सकता हूँ?

2024-12-21 को प्रकाशित
ब्राउज़ करें:251

How Can I Automate Dumping MySQL Tables into Separate Files?

फ़ाइलों को अलग करने के लिए MySQL तालिकाओं को स्वचालित रूप से डंप करें

अंतर्निहित mysqldump उपयोगिता चयनात्मक तालिका डंप की अनुमति देती है, लेकिन पूर्व-निर्दिष्ट तालिका नामों की आवश्यकता होती है . एक गतिशील दृष्टिकोण के लिए जो नई तालिका परिवर्धन को संभालता है, एक स्वचालित समाधान आवश्यक है।

ऐसा एक समाधान एक शेल स्क्रिप्ट है जो सभी तालिका नामों के लिए डेटाबेस से गतिशील रूप से पूछताछ करता है और प्रत्येक तालिका को एक अलग संपीड़ित फ़ाइल में डंप करता है। इससे डंप स्क्रिप्ट में मैन्युअल तालिका नाम रखरखाव की आवश्यकता समाप्त हो जाती है।

यहां एक नमूना स्क्रिप्ट है जो इस कार्यक्षमता को प्राप्त करती है:

#!/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"

यह स्क्रिप्ट डेटाबेस पासवर्ड के लिए संकेत देती है, तालिका नामों के लिए निर्दिष्ट डेटाबेस पर सवाल उठाती है, और प्रत्येक तालिका के डेटा को SQL कमांड के रूप में अलग-अलग डंप करती है निर्दिष्ट निर्देशिका (या डिफ़ॉल्ट रूप से वर्तमान कार्यशील निर्देशिका) के भीतर संपीड़ित फ़ाइलें।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3