Як я можу знизити mysql 5.7 до 5.6 на Ubuntu 16.04?


11

Я вважаю, що MySQL 5.7 є величезним свином пам’яті і хочу повернутися до MySQL 5.6.

Однак кожен раз, коли я намагаюся видалити 5.7 та встановити 5.6, я закінчую службою MySQL, яка не запуститься. Також мені потрібно переконатися, що я зберігаю всі свої бази даних.

Хтось може сказати мені простий крок за кроком про те, як відкатати mysql з 5,7 до 5,6?

**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  

Офіційні сховища Ubuntu 16.04 мають лише 5.7, тому спочатку вам потрібно буде знайти сховище, яке забезпечує 5.6. Можливо, офіційний MySQL .
fkraiem

Я вже додав довірене репо для доступу до MySQL 5.6
заклики

Не варто робити цього, тим більше, що, здається, для Xenial є 5,6 пакунків.
fkraiem

Наприклад, система управління послугами змінилася (Trusty використовує upstart, Xenial використовує systemd), тому не дивно, що послуга в пакеті, створеному для Trusty (з 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

Попередження:

  • Ubuntu перейшов на systemd з 16.04. Можливо, вам знадобиться почати 16.04 також із запуску, коли використовуєте mysql 5.6.

1
Я майже впевнений, що $ sudo rm -rf on / var / lib / mysql підірве всі мої бази даних.
занурюється

Так буде, але ви не можете зберегти / var / lib / mysql / у будь-якому випадку. Вам потрібен дамп вашої бази даних, щоб ви могли її перезавантажити. Інакше ви підберете налаштування з 5,7, ніж недійсні в 5,6
Rinzwind

1
Я бачу ще одну помилку: mysql потрібно зупинити, перш ніж його видалити. І ще одне попередження: ми перейшли на systemd між 5.6 та 5.7. Не зловмисник, але варто згадати
Rinzwind

@Rinzwind, що це практично означає: зміни системи? Також добре знати, Я МАЮ скинути dbs. Я переконуюсь, що я зроблю це спочатку.
занурення

3
mysql-client-5.6 за замовчуванням більше не доступний у apt-get. Дивіться про 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 / ... .
fosslinux

Гаразд, щоб зробити це, але не оновлюйте, і дотримуйтесь "-r" видалити один раз installe d "sudo add-apt-repository -r 'deb archive.ubuntu.com/ubuntu trusty всесвіт" "стільки, скільки це погана ідея залишити це у вашому репо, якщо ви видалите його після встановлення 5.6, я не думаю, що це така погана ідея, як зроблений вище коментар. У цій самій відповіді є 60 оновлень, і він зробив оновлення apt-get, яке має більше потенціалу викликати проблеми askubuntu.com/questions/762384/…
MagicLAMP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.