mysqldump` आउटपुट को कंप्रेस करने के लिए `gzip` पाइप करना सबसे आम और प्रभावी तरीका है।
कम्प्रेशन के लाभ और हानि
- लाभ: नेटवर्क पर ट्रांसफर होने वाला पेलोड आकार कम होता है।
- हानि: CPU गणना समय बढ़ता है।
- लाभ नतीजे के आकार, नेटवर्क बैंडविड्थ और लेटेंसी पर निर्भर करता है। बड़े परिणाम सेट और कम बैंडविड्थ पर अधिक लाभ।
सर्वोत्तम कमांड
mysqldump -u root -p database_name | gzip > dump.gz
यह स्ट्रीमिंग कंप्रेशन करता है; डिस्क पर असम्प्रेस्ड फ़ाइल नहीं बनती।
विकल्प: mysqlpump (MySQL 5.7+)
mysqlpump में अंतर्निहित कम्प्रेशन समर्थन है:
mysqlpump --compress-output=gzip --all-databases > dump.gz
टेबल रीबिल्ड (डंप और रीलोड)
mysqldump db_name t1 > dump.sql mysql db_name < dump.sql
नोट
- क्लाइंट और सर्वर दोनों को
zlibसमर्थन करना चाहिए और क्लाइंट को कम्प्रेशन अनुरोध करना चाहिए (--compressविकल्प; MySQL 8.0.18 से डिप्रिकेटेड)। - बहुत बड़े डंप के लिए फिजिकल बैकअप (MySQL Enterprise Backup, Percona XtraBackup) तेज़ होते हैं।