मैं Ubuntu 16.04 पर mysql 5.7 से 5.6 को कैसे डाउनग्रेड कर सकता हूं?


11

मैं एक बड़े पैमाने पर मेमोरी हॉग होने के लिए MySQL 5.7 पा रहा हूं और MySQL 5.6 पर वापस जाना चाहता हूं।

हालाँकि हर बार मैं 5.7 को अनइंस्टॉल करने की कोशिश करता हूं और 5.6 को मैं एक MySQL सेवा के साथ समाप्त करता हूं जो शुरू नहीं होगी। इसके अलावा मुझे यह सुनिश्चित करने की ज़रूरत है कि मैं अपने सभी डेटाबेस को रखूं।

क्या कोई मुझे एक सरल कदम बता सकता है कि कैसे 5.7 से 5.6 तक mysql को रोल करें?

**UPDATE**
$ dpkg -l | grep mysql    

rc  akonadi-backend-mysql                                1.13.0-2ubuntu4                                      all          MySQL storage backend for Akonadi  
ii  dbconfig-mysql                                       2.0.4ubuntu1                                         all          dbconfig-common MySQL/MariaDB support  
ii  libdbd-mysql-perl                                    4.033-1build2                                        amd64        Perl5 database interface to the MySQL database  
rc  libmysqlclient18:amd64                               5.6.30-0ubuntu0.15.10.1                              amd64        MySQL database client library  
rc  libmysqlclient18:i386                                5.6.30-0ubuntu0.15.10.1                              i386         MySQL database client library  
ii  libmysqlclient20:amd64                               5.7.12-0ubuntu1.1                                    amd64        MySQL database client library  
ii  mysql-client-5.7                                     5.7.12-0ubuntu1.1                                    amd64        MySQL database client binaries  
ii  mysql-client-core-5.7                                5.7.12-0ubuntu1.1                                    amd64        MySQL database core client binaries  
ii  mysql-common                                         5.7.12-0ubuntu1.1                                    all          MySQL database common files, e.g. /etc/mysql/my.cnf  
iU  mysql-server                                         5.7.12-0ubuntu1.1                                    all          MySQL database server (metapackage depending on the latest version)  
rc  mysql-server-5.5                                     5.5.43-0ubuntu0.14.10.1                              amd64        MySQL database server binaries and system database setup  
rc  mysql-server-5.6                                     5.6.16-1~exp1                                        amd64        MySQL database server binaries and system database setup  
iF  mysql-server-5.7                                     5.7.12-0ubuntu1.1                                    amd64        MySQL database server binaries and system database setup  
ii  mysql-server-core-5.7                                5.7.12-0ubuntu1.1                                    amd64        MySQL database server binaries  
ii  php-mysql                                            1:7.0+42+deb.sury.org~xenial+2                       all          MySQL module for PHP [default]  
ii  php5.6-mysql                                         5.6.23-1+deb.sury.org~xenial+2                       amd64        MySQL module for PHP  
ii  php7.0-mysql                                         7.0.8-2+deb.sury.org~xenial+1                        amd64        MySQL module for PHP  

आधिकारिक उबंटू 16.04 रिपॉजिटरी में केवल 5.7 हैं, इसलिए पहले आपको एक रिपॉजिटरी खोजने की आवश्यकता होगी जो 5.6 प्रदान करता है। शायद आधिकारिक MySQL एक
fkraiem

मैं पहले से ही MySQL 5.6
dibs

आपको ऐसा नहीं करना चाहिए, खासकर जब से ऐसा लगता है कि Xenial के लिए 5.6 पैकेज हैं।
fkraiem

उदाहरण के लिए, सेवाओं का प्रबंधन करने के लिए सिस्टम बदल गया है (ट्रस्टी upstart का उपयोग करता है, Xenial systemd का उपयोग करता है), इसलिए यह आश्चर्यजनक नहीं है कि ट्रस्टी (upstart के साथ) के लिए बनाए गए पैकेज में एक सेवा Xenial (systemd के साथ) में शुरू नहीं होती है।
fkraiem

आह वाह! शायद यही वजह है कि मैंने जो भी कोशिश की है वह काम नहीं करता है।
दिबस

जवाबों:


7

सबसे पहले mysqldumpअपने सभी डेटाबेस (सहित information_schema) का निर्माण करें। फिर "mysql" को रोकें और इससे mysql से संबंधित कुछ भी हटा दिया जाएगा:

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.7 mysql-client-core-5.7

# Backup 5.6 config and data without deleting
sudo mv /etc/mysql /etc/mysql-5.6-backup
sudo mv /var/lib/mysql /var/lib/mysql-5.6-backup
sudo apt-get autoremove
sudo apt-get autoclean

और फिर

sudo apt-get install mysql-client-5.6
sudo apt-get update

चेतावनी:

  • उबंटू ने 16.04 के साथ सिस्टमड में स्विच किया। Mysql 5.6 का उपयोग करने पर आपको अपस्टार्ट के साथ 16.04 शुरू करने की आवश्यकता हो सकती है।

1
मुझे पूरा यकीन है कि $ sudo rm -rf on / var / lib / mysql मेरे सभी डेटाबेस को उड़ा देगा।
दिबस

यह होगा, लेकिन आप / var / lib / mysql / anyways नहीं रख सकते। आपको अपने डेटाबेस के डंप की आवश्यकता है ताकि आप इसे पुनः लोड कर सकें। अन्यथा आप 5.7 की तुलना में 5.7 से अमान्य सेटिंग्स लेंगे
रिनविंड

1
मुझे एक और गलती दिखाई देती है: इससे पहले कि आप इसे हटा दें, mysql को रोकना होगा। और एक और चेतावनी: हमने 5.6 और 5.7 के बीच systemd पर स्विच किया। सौदा करने वाला नहीं बल्कि ध्यान देने योग्य है
रिनविंड

@ रिवाइंड क्या यह व्यावहारिक रूप से फिर से मतलब है: सिस्टमड चेंज? यह भी जानकर अच्छा है कि मैं dbs डंप करने के लिए है। मैं यह सुनिश्चित करूँगा कि मैं पहले ऐसा करूँ।
dibs

3
mysql-client-5.6 अब उपयुक्त रूप से डिफ़ॉल्ट रूप से उपलब्ध नहीं है। इसे कैसे स्थापित करें, इसके लिए askubuntu.com/questions/762384/… देखें ।
टोनी

0

मैंने Ubuntu 14.04 रिपॉजिटरी (Ubuntu 18.04 में) जोड़ी:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

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

sudo apt install mysql-client-5.6

2
यह वास्तव में बुरा विचार हैAskubuntu.com/questions/499800/… देखें ।
जीवाश्म

ऐसा करने के लिए ठीक है, लेकिन अपडेट न करें, और "-r" के साथ एक बार installe d "sudo add-apt-repository -r 'डिबेट आर्काइव .ubuntu.com/ ubuntu भरोसेमंद ब्रह्मांड'" को हटा दें, जितना कि यह एक है अपने रेपो में इसे छोड़ने के लिए बुरा विचार, अगर आप इसे 5.6 स्थापित होने के बाद हटा देते हैं, तो मुझे नहीं लगता कि यह उतना बुरा है जितना कि उपरोक्त टिप्पणी। यहां एक ही उत्तर में 60 अपवोट हैं, और उन्होंने एक
एप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.