Ubuntu 14.04 LTS पर MySQL 5.5 से MySQL 5.6 अपग्रेड करना


17

मैंने निम्नलिखित आदेशों के साथ अपना LAMP स्थापित किया है:

sudo apt-get update
sudo apt-get install apache2 apache2-suexec mysql-server php5-mysql
sudo mysql_secure_installation
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install phpmyadmin

यह लगभग एक साल पहले था। अब PHPMyAdmin में, मैं निम्नलिखित देखता हूं:

Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.43-0ubuntu0.14.04.1 - (Ubuntu)
Protocol version: 10
Web server
Apache/2.4.7 (Ubuntu)
Database client version: libmysql - 5.5.43
PHP extension: mysqli Documentation

MySQL संस्करण 5.5.43-0ubuntu0.14.04.1 है । मैं सुरक्षित रूप से सुरक्षित और सुरक्षित रूप से mysql 5.6.4+ का उपयोग और उपयोग कैसे कर सकता हूं क्योंकि मुझे इसके FULLTEXTसाथ उपयोग करने की आवश्यकता है INNODB। मैं संकुल को उबंटू भंडार में देखता हूं, लेकिन मुझे वास्तव में किसी भी संघर्ष या स्थापना की समस्याओं से बचना चाहिए।

किसी भी मदद के लिए धन्यवाद।

जवाबों:


22

मैं सुरक्षित रूप से सुरक्षित रूप से कैसे स्थापित कर सकता हूं

यह हमेशा मुश्किल होगा।

कुछ भी करने से पहले 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

2
आपकी जानकारी के लिए, मैंने पहले एक बैकअप लिया, फिर सफलतापूर्वक इसे इस कमांड के साथ स्थापित किया: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
याह्या

2
यह अच्छा लग रहा है हाँ: डी Gratz! वहाँ मैंने इसे
संपादित

क्या यह प्रक्रिया इस सर्वर में डेटाबेस को मिटा देती है?
Please_Dont_Bully_Me_SO_Lords

@EASI नहीं, लेकिन सवाल यह है ... बुरा। Mysql को अपग्रेड करते समय आपको एक बैकअप बनाने और इसे पुनर्स्थापित करने के लिए myreql स्कैन करना होगा ताकि पदावनत कार्यों / मापदंडों / विकल्पों / सेटिंग्स के लिए स्कैन किया जा सके।
Rinzwind
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.