मैं सुरक्षित रूप से सुरक्षित रूप से कैसे स्थापित कर सकता हूं
यह हमेशा मुश्किल होगा।
कुछ भी करने से पहले 5.5 / 5.6 संगतता पृष्ठ पढ़ें । 2 के बीच 1 बड़ा अंतर मन:
MySQL 5.6.6 के साथ शुरू, कई MySQL सर्वर मापदंडों में चूक है जो पिछले रिलीज से अलग है। इन परिवर्तनों के लिए प्रेरणा बेहतर आउट-ऑफ-द-बॉक्स प्रदर्शन प्रदान करना और मैन्युअल रूप से सेटिंग्स बदलने के लिए डेटाबेस व्यवस्थापक की आवश्यकता को कम करना है। ये परिवर्तन भविष्य में रिलीज़ में संभावित संशोधन के अधीन हैं क्योंकि हम प्रतिक्रिया प्राप्त करते हैं।
बड़े परिवर्तनों में से 1 यह है कि 5.5 लेनदेन के रूप में 1 बड़ी फ़ाइल का उपयोग करता है और 5.6 कई का उपयोग करता है:
इसलिए, यदि आप किसी मौजूदा MySQL इंस्टालेशन को अपग्रेड कर रहे हैं, तो पहले से ही इन मापदंडों के मूल्यों को उनके पिछले डिफॉल्ट्स से नहीं बदला है, और बैकवर्ड संगतता एक चिंता का विषय है, आप इन मापदंडों को अपने पिछले डिफॉल्ट्स के लिए स्पष्ट रूप से सेट करना चाह सकते हैं। उदाहरण के लिए, इन लाइनों को सर्वर विकल्प फ़ाइल में डालें:
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
यदि आप प्रतिकृति का उपयोग लिंक के इस हिस्से पर ध्यान देते हैं:
प्रतिकृति के लिए उपयोग किए जाने वाले सर्वर को अपग्रेड करने के लिए, पहले दास को अपग्रेड करें, फिर मास्टर को। गुरु और उसके दासों के बीच प्रतिकृति का काम करना चाहिए बशर्ते कि सभी एक ही मूल्य का स्पष्ट_उपयोगकर्ता_प्रत्यक्ष प्रयोग करें:
गुलामों को नीचे लाएँ, उन्हें अपग्रेड करें, उन्हें स्पष्ट_देफ़ल्ट्स_for_timestamp के वांछित मूल्य के साथ कॉन्फ़िगर करें, और उन्हें वापस लाएं।
दास गुरु से प्राप्त द्विआधारी लॉग के प्रारूप से पहचान लेंगे कि मास्टर पुराना है (स्पष्ट_डैफॉल्ट्स_फोर्मेटैम्पैम्प की शुरूआत करता है) और यह कि मास्टर से आने वाले टाइमस्टैम्प कॉलम पर संचालन पुराने टाइमस्टैम्प व्यवहार का उपयोग करते हैं।
मास्टर को नीचे लाएं, इसे अपग्रेड करें, और इसे गुलामों पर इस्तेमाल किए जाने वाले एक ही स्पष्ट_देफ्टल्ट_फोर्सटिमैम्प वैल्यू के साथ कॉन्फ़िगर करें और इसे वापस लाएं।
यदि यह एक उत्पादन सर्वर है, तो मैं इसे पहले परीक्षण मशीन पर प्रयास करने की सलाह दूंगा। हमारे पास 5.5 से 5.6 के बजाय एक कठिन संक्रमण है और एक और मशीन स्थापित करने का विकल्प चुना है जो 5.6 के साथ स्थापित किया गया था और बैकअप बनाने के लिए और उस मशीन पर हमारे डेटाबेस में लोड करने के लिए mysldump का उपयोग करता है। मन हालांकि यह एक लंबा समय लगेगा यदि आपके पास एक बड़ा डेटाबेस है (निर्दोष लेनदेन फ़ाइलों के मनोरंजन के कारण)।
एक सामान्य विधि:
- अपने डेटाबेस का बैकअप बनाने के लिए mysqldump का उपयोग करें (उपयोगकर्ता, ट्रैबल संरचना और तालिका डेटा) और आपकी कॉन्फ़िग फ़ाइल (शायद /etc/mysql/my.cnf)
- 5.5 निकालें। 5.5 को हटाने के बाद कि निर्दोष लेनदेन की फाइलें चली गई हैं (ibdata1, ib_logfile0 और ib_logfile1)। के रूप में 5.6 लेनदेन के बेहतर संस्करण का उपयोग करता है मुझे लगता है कि आप भी इस का उपयोग करना होगा ...
- 5.6 स्थापित करें
- नई कॉन्फ़िग फ़ाइल को बदलें और 5.5 के लिए जो आपने बदला है उसे जोड़ें (ऊपर दिए गए लिंक पर ध्यान दें और देखें कि क्या कोई परिवर्तन अमान्य हो गया है)।
- अपना बैकअप 5.6 (पहले उपयोगकर्ता) में अपलोड करें। मन करें कि यह थोड़ा समय ले सकता है क्योंकि यह नई लेनदेन फ़ाइलों को फिर से बनाएगा।
आदेशों में (बैकअप बनाने के बाद):
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6