क्या mysqldump -all-डेटाबेस में सभी ऑब्जेक्ट शामिल हैं


16

mysqldump -all-databasesसभी वस्तुओं को शामिल करता है ?

मुझे सभी डेटाबेस को नए सर्वर पर माइग्रेट करना है।

जवाबों:


21

कोई भी mysqldump -all-डेटाबेस सभी वस्तुओं को शामिल नहीं करता है

mysqldump --help

  -A, --all-databases Dump all the databases. This will be same as --databases
                      with all databases selected.

तो mysqldump --all- डेटाबेस के साथ केवल सभी डेटाबेस को डंप करता है।

नए डेटाबेस में सभी डेटाबेस को माइग्रेट करने के लिए, आपको पूर्ण बैकअप लेना चाहिए:

mysqldump एक संपूर्ण mysql उदाहरण है

mysqldump -h... -u... -p... --events --routines --triggers --all-databases > MySQLData.sql

दोष यह है कि इस तरह से बनाए गए बैकअप केवल mysql के उसी प्रमुख रिलीज़ संस्करण में पुनः लोड किए जा सकते हैं, जिसके साथ mysqldump उत्पन्न हुआ था। दूसरे शब्दों में, MySQL 5.0 डेटाबेस से एक mysqldump --all- डेटाबेस को 5.1 या 5.5 में लोड नहीं किया जा सकता है। कारण ? Mysql स्कीमा प्रमुख रिलीज के बीच पूरी तरह से अलग है।

यहां उन उपयोगकर्ताओं के लिए SQL अनुदान डंप करने का सामान्य तरीका है जो पठनीय और अधिक पोर्टेबल है

mysql -h... -u... -p... --skip-column-names -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | mysql -h... -u... -p... --skip-column-names -A | sed 's/$/;/g' > MySQLGrants.sql

RolandoMySQLDBA के उत्तर पर एक नज़र डालें कि मैं एक बड़े डेटाबेस के mysqldump को कैसे अनुकूलित कर सकता हूं?


1
आप भूल गया --events जो के अलावा जरूरत है --routinesऔर --triggersऔर आप भी छोड़े गए --single-transactionअनावश्यक रूप से टेबल ताला से बचने के लिए।
माइकल - स्क्वैल्बोट

1
यदि यह स्पष्ट है कि यह सुनिश्चित करने के लिए कि --single-transactionमाईसैम तालिकाओं के बैकअप के लिखे जाने के दौरान लिखे जा रहे हैं, तो एक सुसंगत बैकअप का उत्पादन नहीं होगा। हालाँकि, जोड़ना --single-transactionएक अच्छा विचार है यदि आप सभी InnoDB का उपयोग कर रहे हैं और mysqldumpरनों के दौरान अवरुद्ध होने से बचना चाहते हैं ।
जेम्स एल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.