Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक पैटर्न के आधार पर mysqldump में टेबल छोड़ें

दुर्भाग्य से 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL अक्षांश और देशांतर तालिका सेटअप

  2. शीर्ष 5 MySQL GUI उपकरण (निःशुल्क और सशुल्क)

  3. अपलोड की गई फ़ाइल को निर्देशिका में सहेजने से पहले उसका नाम कैसे बदलें?

  4. सॉकेट अपवाद gitpod IDE (उबंटू सर्वर) से MySql डेटाबेस से कनेक्ट करने का प्रयास करते समय

  5. एकाधिक तालिकाओं से चुनें *। माई एसक्यूएल