दुर्भाग्य से mysqldump तालिका नामों को पूरी तरह से योग्य होने की आवश्यकता है ताकि आप एक पैरामीटर को रेगेक्स पैटर्न के रूप में निर्दिष्ट न कर सकें।
हालाँकि, आप अपने mysqldump को info_schema से कनेक्ट करके उत्पन्न करने के लिए एक स्क्रिप्ट का उपयोग कर सकते हैं और कुछ का उपयोग करके सभी तालिकाओं को सूचीबद्ध कर सकते हैं:
SELECT TABLE_NAME, TABLE_SCHEMA
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'mysql', 'PERFORMANCE_SCHEMA');
और फिर इसे उत्पन्न करना --ignore-table
^test
. के रेगेक्स से मेल खाने वाले सभी टेबल नामों के लिए पैरामीटर ।
केवल स्कीमा और कोई डेटा नहीं डंप करने के लिए आप का उपयोग कर सकते हैं --no-data=true
एक पैरामीटर के रूप में।
यदि आप सभी गैर परीक्षण तालिकाओं के लिए सब कुछ प्राप्त करना चाहते हैं, लेकिन किसी अन्य तालिका के लिए केवल स्कीमा तो आपको दो अलग-अलग mysqldump आदेशों का उपयोग करने की आवश्यकता होगी (एक सभी परीक्षण तालिकाओं के लिए अनदेखा-तालिका के लिए प्लस स्कीमा केवल एक और दूसरा केवल के लिए स्कीमा ओनली टेबल का स्कीमा) जिसमें दूसरा >>
का उपयोग करके आउटपुट फ़ाइल में संलग्न होता है संलग्न करें
ऑपरेटरए> ।
तो आपकी परिणामी स्क्रिप्ट कुछ इस तरह उत्पन्न कर सकती है:
mysqldump -u root -ptoor databaseName --ignore-table=testTable1 --ignore-table=testTable2 --ignore-table=testTable3 --ignore-table=schemaOnlyTable > mysqldump.sql
mysqldump -u root -ptoor databaseName schemaOnlyTable --no-data=true >> mysqldump.sql