मेरे पास यह 32 जीबी SQL डंप है जिसे मुझे MySQL में आयात करने की आवश्यकता है। मुझे पहले इतने बड़े एसक्यूएल डंप का आयात नहीं करना पड़ा। मैंने हमेशा किया:
mysql -uroot dbname < dbname.sql
इसमें बहुत समय लग रहा है। लगभग 300 मिलियन पंक्तियों के साथ एक तालिका है, यह लगभग 3 घंटे में 1.5 मिलियन हो गई है। तो, ऐसा लगता है कि पूरी चीज़ को 600 घंटे (24 दिन) लगते हैं और यह अव्यवहारिक है। तो मेरा सवाल यह है कि क्या ऐसा करने का एक तेज़ तरीका है?
आगे की जानकारी / निष्कर्ष
- टेबल सभी InnoDB हैं और कोई विदेशी कुंजी परिभाषित नहीं है। हालाँकि, कई सूचकांक हैं।
- मेरे पास मूल सर्वर और DB तक पहुंच नहीं है, इसलिए मैं एक नया बैकअप नहीं बना सकता या "हॉट" कॉपी आदि नहीं कर सकता।
innodb_flush_log_at_trx_commit = 2
जैसा कि यहां बताया गया है कि सेटिंग में सुधार (स्पष्ट रूप से दिखाई देने वाला / घातीय) होने लगता है।- आयात के दौरान सर्वर आँकड़े (MySQL कार्यक्षेत्र से): https://imgflip.com/gif/ed0c8 ।
- MySQL संस्करण 5.6.20 समुदाय है।
- innodb_buffer_pool_size = 16M और innodb_log_buffer_size = 8M। क्या मुझे इन्हें बढ़ाने की आवश्यकता है?