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

क्या mysqldump प्रगति पट्टी का समर्थन करता है?

इंस्टॉल करें और pv का उपयोग करें (यह CentOS के लिए यम पैकेज के रूप में उपलब्ध है)

http://www.ivarch.com/programs/pv.shtml

यह मानते हुए कि परिणामी डंपफाइल.एसक्यूएल फ़ाइल का अपेक्षित आकार 100 मीटर (100 मेगाबाइट) है, pv का उपयोग इस प्रकार होगा:

mysqldump <parameters> | pv --progress --size 100m > dumpfile.sql

कंसोल आउटपुट इस तरह दिखेगा:

[===> ] 20%

मैन पेज देखें man pv अधिक विकल्पों के लिए। आप स्थानांतरण दर प्रदर्शित कर सकते हैं, या कितना समय बीत चुका है, या कितने बाइट स्थानांतरित हुए हैं, और बहुत कुछ।

यदि आप अपनी डंप फ़ाइल के आकार को नहीं जानते हैं, तो तालिका_स्कीमा से MySQL डेटाबेस का आकार प्राप्त करने का एक तरीका है - यह आपकी डंप फ़ाइल का आकार नहीं होगा, लेकिन यह आपकी आवश्यकताओं के लिए काफी करीब हो सकता है:

SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;

अपडेट करें

मेरे अनुभव में, जब पूरे MySQL सर्वर को डंप किया जाता है, तो mysql डंप का वास्तविक असम्पीडित आकार (mysqldump --hex-blob विकल्प का उपयोग करके) लगभग 75% से 85% MySQL डेटा के लाइव आकार के बीच होता है, जो info_schema से प्राप्त होता है। तो एक सामान्य समाधान के लिए, मैं निम्नलिखित कोशिश कर सकता हूं:

SIZE_BYTES=$(mysql --skip-column-names <parameters> <<< 'SELECT ROUND(SUM(data_length) * 0.8) AS "size_bytes" FROM information_schema.TABLES;')

mysqldump <parameters> --hex-blob | pv --progress --size $SIZE_BYTES > dumpfile.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. एसक्यूएल दो अलग-अलग तालिकाओं से दो कॉलम की तुलना कैसे करें

  2. MySQL पंक्ति से डेटा का गुणन

  3. परीक्षण के लिए अपने MySQL उदाहरणों को कैसे विफल या क्रैश करें?

  4. डेटा डेटा लोड करें आसानी से YYYYMMDD को YYYY-MM-DD में कनवर्ट करें?

  5. mysql के लिए javafx कनेक्शन