चुनिंदा पुनर्स्थापना के लिए अलग-अलग तालिकाओं को आउटपुट करने के लिए mysqldump बैच स्क्रिप्ट - mysql, बैच-फ़ाइल, mysqldump

वर्तमान में हमारे पास एक डॉस बैच स्क्रिप्ट हैएक ही फाइल में पूरे डेटाबेस पर एक MySQL डंप निष्पादित करता है। मैं क्या करना चाहता हूं डेटाबेस द्वारा डेटाबेस को तोड़ना है, ताकि प्रत्येक "दिनांक" फ़ोल्डर में, एक "डीबी" फ़ोल्डर होगा जिसमें व्यक्तिगत तालिका डंप हों। यह हमें एक संपूर्ण डीबी को बहाल करने के बजाय चयनित तालिकाओं को पुनर्स्थापित करने की अनुमति देता है।

@echo off
md C:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%
cd C:Program FilesMySQLMySQL Workbench 5.2 CE
mysqldump -h -u -p --databases db0 > c:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%db0.sql
mysqldump -h -u -p --databases db1 > c:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%db1.sql

मुझे खोल का उपयोग करके एक संभावित समाधान मिला: https://stackoverflow.com/a/134296/679449

ऐसा प्रतीत होता है कि यह मुझे अलग-अलग तालिकाओं में निर्यात करने की अनुमति देगा, हालांकि मुझे यकीन नहीं है कि बैच में लिखना संभव है या नहीं। इसके साथ किसी भी मदद की सराहना की है।

उत्तर:

जवाब के लिए 0 № 1

मेरा समाधान:

@echo off
md C:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%db0
md C:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%db1

cd C:Program FilesMySQLMySQL Workbench 5.2 CE

mysql -s -e "SHOW TABLES FROM db0" -u -p --skip-column-names > C:backupstables.txt
for /f %%A in (C:backupstables.txt) DO (mysqldump -h -u -p db0 %%A > c:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%db0%%A.sql)

mysql -s -e "SHOW TABLES FROM db1" -u -p --skip-column-names > C:backupstables.txt
for /f %%A in (C:backupstables.txt) DO (mysqldump -h -u -p db1 %%A > c:backups%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%db1%%A.sql)

संबंधित सवाल
सबसे लोकप्रिय