Mysqldump का उपयोग करके तेजी से बैकअप कैसे बढ़ाएं और 500GB डेटाबेस को पुनर्स्थापित करें?


10

एक डेटाबेस A का आकार 500GB है। डेटाबेस A में टेबल्स में MyISAM और INNODB दोनों टेबल हैं। MyISAM टेबल मास्टर टेबल हैं और इनोडब टेबल मुख्य लेनदेन टेबल हैं।

बैकअप और पुनर्स्थापना mysql डंप का उपयोग करके एक लंबे समय या दिनों को छोड़ दें।

  • max_allowed_packet = 1G
  • foreign_key_checks = 0
  • ऑटो_काम = बंद

1
मैं सिर्फ यह सुनिश्चित करना चाहता हूं कि आप mysqldump उपयोगिता के साथ उपयोग कर रहे हैं। पुनः लोड करते समय यह एक बड़ा समय बचाने वाला होता है। इसके बिना mysqldump sql फ़ाइल पंक्ति को पंक्ति बनाता है। --टॉप करता है: सक्षम किए गए सभी विकल्पों के साथ लॉक, ड्रॉप और रिक्रिएट करता है, अस्थायी रूप से क्विक रीलोड के लिए कुंजियों को निष्क्रिय कर देता है और फिर लेखन समाप्त हो जाने के बाद इंडेक्स को फिर से बनाने के लिए अंत में कुंजियों को बदल देता है। यह आवेषणों में एकसाथ कई पंक्तियों को एक-दूसरे के स्टेटमेंट की पार्सिंग और पार्सिंग समय (70% तक) कम करने के लिए सम्मिलित करता है और रनिंग के दौरान डंपिंग डीबी के खिलाफ लोड को कम करने के लिए सक्षम करता है। लोड समय को 80% कम कर देता है
ppostma1

जवाबों:


5

लेकिन लिंक भी Percona से XtraBackup की सिफारिश करता है, जो तेज है, तालिकाओं पर कोई लॉक नहीं है जो पहले से उपयोग में हैं और बहाली के लिए कोई समय नहीं प्राप्त करता है। जब तक आप मौजूदा DB सर्वर से नहीं थे, तब तक 500GB डेटा के लिए मैं Percona XtraBackup को जल्दी और कुशल बनाना चाहता हूं, जब तक कि आप उन्हें innodb_file_per_table मॉडल में बदलना न चाहें। नीचे दिए गए लिंक में बताया गया है कि आगे कैसे बढ़ना है।

http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html


1
Percona Xtrabackup के साथ मुद्दा यह है कि mysqld को डेटाबेस को पुनर्स्थापित करने के लिए रोकना पड़ता है।
dr_

2

Mydumper देखें। यह mysqldump की तुलना में बहुत तेज़ है: नई mydumper 0.6.1 रिलीज़ में प्रदर्शन और प्रयोज्य सुविधाएँ प्रदान की जाती हैं

आप यहां से डाउनलोड कर सकते हैं: https://github.com/maxbube/mydumper

Mydumper क्या है? क्यों?

  • समानांतरवाद (इसलिए, गति) और प्रदर्शन (महंगा चरित्र सेट रूपांतरण दिनचर्या, कुशल कोड कुल मिलाकर बचा जाता है)
  • आउटपुट को प्रबंधित करना आसान है (डेटा के लिए अलग-अलग फाइलें, डंप मेटाडेटा, आदि, डेटा देखने / पार्स करने के लिए आसान)
  • संगति - सभी थ्रेड्स में स्नैपशॉट बनाए रखता है, सटीक मास्टर और दास लॉग पोजिशन प्रदान करता है, आदि
  • प्रबंधनीयता - डेटाबेस और टेबल समावेशन और बहिष्करण को निर्दिष्ट करने के लिए पीसीआरई का समर्थन करता है

1

मुझे लगता है कि सवाल यह है कि कैसे mysqldump की सीड डंप फ़ाइलों से तेजी से पुनर्स्थापित किया जाए और एक अलग बैकअप समाधान नहीं।

इन तरीकों में से एक, आप अपने स्कीमा में तालिकाओं के समूह बनाकर कर सकते हैं और प्रत्येक समूह के लिए एक अलग DB उपयोगकर्ता बना सकते हैं और MySQL अनुमतियों का उपयोग करके सभी लेकिन एक DB उपयोगकर्ता का उपयोग करने के लिए तालिकाओं को डालने की अनुमति नहीं देते हैं।

यह एक सिद्ध, तेज़, लगभग समानांतर तकनीक है लेकिन 100% निश्चित नहीं है कि इसे 500G से पुनर्स्थापित करने में कितना समय लगेगा। लेकिन imho, आपको समानांतर कुछ चाहिए। एक उदाहरण के लिए नीचे दिए गए लिंक को देखें।

MySQL के लिए SQL डंप (mysqldump) से तेज, समानांतर पुनर्स्थापना


1

Innobackupex के साथ निम्नलिखित प्रयास करें:

innobackupex --parallel=7 --rsync  /var/mysql/backup

आप अपनी पसंद के अनुसार समानांतर प्रक्रिया संख्या को बदल सकते हैं। चूंकि आपने उल्लेख किया है कि आपके पास मायसम टेबल हैं, "rsync" पैरामीटर उन लोगों के बैकअप को गति देने में मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.