जवाबों:
डंपिंग विचारों के लिए कोई विशिष्ट विकल्प नहीं है।
आप निम्नलिखित की कोशिश कर सकते हैं:
mysqldump -h... -u... -p... --all-databases --routines --triggers --no-data > /root/MySQLDBSchema.sql
grep "CREATE ALGORITHM" /root/MySQLDBSchema.sql
आपको विचारों को देखने में सक्षम होना चाहिए। यह इंगित करता है कि जब आप डेटाबेस डंप करते हैं, तो दृश्य इसके साथ आता है।
एक और स्टंट जो आप केवल विचारों को प्राप्त करने के लिए कर सकते हैं, यह है:
mysql -uroot -prootpass AN -e"select concat('SHOW CREATE VIEW ',table_schema,'.',table_name,';') from information_schema.views" | sed 's/;/\\G/g' | mysql --uroot -prootpass > /root/MySQLDBViews.sql
कोशिश करो !!!
--all-databases
, इच्छित डेटाबेस निर्दिष्ट करें।
इसके लिए सबसे अच्छा उत्तर शायद olliiiver द्वारा यह एक है जिसे मैंने थोड़ा संशोधित किया है। यह विशेष रूप से ड्रॉप टेबल क्वेरी और सिस्टम में हर दृश्य के लिए व्यू क्वेरी बनाने या बदलने के लिए, बिना किसी टेबल के साथ गड़बड़ करने के लिए निर्यात करता है। ड्रॉप टेबल क्वेरी अक्सर महत्वपूर्ण होती है, क्योंकि mysqldump स्पष्ट रूप से तालिकाओं के रूप में विचारों को फिर से बनाना पसंद करता है जब तक कि आप हर दृश्य को अपने --ignore-table पैरामीटर में शामिल न करें, जो कि कष्टप्रद होगा। यह INFORMATION_SCHEMA का उपयोग करता है।
mysql --skip-column-names --batch \
-e "SELECT CONCAT('DROP TABLE IF EXISTS ', TABLE_SCHEMA, '.', TABLE_NAME, \
'; CREATE OR REPLACE VIEW ', TABLE_SCHEMA, '.', TABLE_NAME, ' AS ', \
VIEW_DEFINITION, '; ') AS q FROM INFORMATION_SCHEMA.VIEWS"
यदि आप कुछ इस तरह से शेल स्क्रिप्ट में बदलना चाहते हैं, तो मैं --defaults-extra-file = CREDSFILENAME पैरामीटर का उपयोग करने की भी सलाह देता हूं, ताकि आपको स्क्रिप्ट में उपयोगकर्ता / पास को निर्दिष्ट करने की आवश्यकता न हो।
क्रेडेंशियल फ़ाइल इस तरह दिखती है:
[client]
username=YourUsernameHere
password=YourPasswordHere