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