Как я могу понизить 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
— диб

Вы не должны этого делать, тем более что кажется, что есть 5,6 пакетов для Xenial.
— Фракием

Например, изменилась система управления службами (Trusty использует upstart, Xenial использует systemd), поэтому неудивительно, что служба в пакете, созданном для Trusty (с upstart), не запускается в Xenial (с systemd).
— Фракием

Ах, вау. Может быть, поэтому, что бы я ни пытался, все работает.
— Чт

Ответы:


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 с upstart при использовании mysql 5.6.

1
Я почти уверен, что $ sudo rm -rf в / var / lib / mysql уничтожит все мои базы данных.
— Чт

Это будет, но вы не можете сохранить / var / lib / mysql / в любом случае. Вам нужен дамп вашей базы данных, чтобы вы могли перезагрузить его. В противном случае вы выбрали бы настройки из 5.7, которые недействительны в 5.6
— Rinzwind

1
Я вижу еще одну ошибку: MySQL должен быть остановлен, прежде чем удалить его. И еще одно предупреждение: мы переключились на systemd между 5.6 и 5.7. Не посредник, но стоит упомянуть
— Rinzwind

@Rinzwind, что это означает практически: системное изменение? Также приятно знать, что я должен сбросить базы данных. Я обязательно сделаю это первым.
— чи

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" удалить после установки d "sudo add-apt-repository -r" deb archive.ubuntu.com/ubuntu trusty universe "" столько, сколько это плохая идея оставить это в своем репо, если вы удалите его после установки 5.6, я не думаю, что это такая же плохая идея, как вышеупомянутый комментарий. Тот же самый ответ здесь имеет 60 голосов, и он сделал обновление apt-get, которое может вызвать проблемы askubuntu.com/questions/762384/…
— MagicLAMP,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.