Jak mogę obniżyć wersję mysql 5.7 do 5.6 na Ubuntu 16.04?

11

Uważam, że MySQL 5.7 jest ogromną pamięcią i chcę przywrócić MySQL 5.6.

Jednak za każdym razem, gdy próbuję odinstalować 5.7 i zainstalować 5.6, kończę na usłudze MySQL, która nie chce się uruchomić. Muszę także upewnić się, że przechowuję wszystkie moje bazy danych.

Czy ktoś może mi powiedzieć prosty krok po kroku, jak przywrócić mysql z 5.7 do 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  
forsa
źródło
Oficjalne repozytoria Ubuntu 16.04 mają tylko 5.7, więc najpierw musisz znaleźć repozytorium, które zapewnia 5.6. Może oficjalny MySQL .
fkraiem
Dodałem już sprawdzone repozytorium, aby uzyskać dostęp do MySQL 5.6
dibs
Nie powinieneś tego robić, zwłaszcza, że ​​wydaje się, że Xenial zawiera 5,6 pakietów.
fkraiem
Na przykład zmienił się system zarządzania usługami (Trusty używa upstart, Xenial używa systemd), więc nie jest zaskakujące, że usługa w pakiecie stworzonym dla Trusty (z upstart) nie uruchamia się w Xenial (z systemd).
fkraiem
Ach wow. Być może dlatego bez względu na to, co próbowałem, wydaje się działać.
dibs

Odpowiedzi:

7

Najpierw zrób mysqldumpze wszystkich baz danych (w tym information_schema). Następnie „zatrzymaj” mysql, a to usunie wszystko, co jest związane z 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

i wtedy

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

Ostrzeżenia:

  • Ubuntu przełączyło się na systemd z 16.04. Podczas korzystania z mysql 5.6 może być konieczne uruchomienie 16.04 z aktualizacją.
Tyler
źródło
1
Jestem prawie pewien, że $ sudo rm -rf na / var / lib / mysql zniszczy wszystkie moje bazy danych.
dibs
Będzie, ale nie możesz zachować / var / lib / mysql /. Potrzebujesz zrzutu bazy danych, aby móc ją ponownie załadować. W przeciwnym razie wybrałbyś ustawienia z 5.7, niż są nieprawidłowe w 5.6
Rinzwind,
1
Widzę kolejny błąd: mysql musi zostać zatrzymany przed jego usunięciem. I kolejne ostrzeżenie: przełączyliśmy się na systemd między 5.6 a 5.7. Nie jest przełomowym, ale wartym wspomnienia
Rinzwind,
@Rinzwind co to właściwie oznacza re: zmiana systemowa? Również dobrze wiedzieć, że muszę zrzucić dbs. Najpierw upewnię się, że to zrobię.
dibs
3
Domyślnie mysql-client-5.6 nie jest już dostępny w apt-get. Zobacz askubuntu.com/questions/762384/ ... jak zainstalować.
Tony
0

Dodałem repozytorium Ubuntu 14.04 (w Ubuntu 18.04):

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

Jestem w stanie zainstalować:

sudo apt install mysql-client-5.6
Rahul Thakur
źródło
2
To naprawdę zły pomysł . Zobacz askubuntu.com/questions/499800/… .
fosslinux
Ok, aby to zrobić, ale nie aktualizuj i postępuj zgodnie z poleceniem „-r” usuń po instalacji d „sudo add-apt-repository -r 'deb archive.ubuntu.com/ubuntu zaufany wszechświat”, o ile jest to zły pomysł, aby zostawić to w swoim repozytorium, jeśli usuniesz go po zainstalowaniu 5.6, nie sądzę, że jest to tak zły pomysł jak powyższy komentarz. Ta sama odpowiedź tutaj ma 60 pozytywnych opinii i zrobił aktualizację apt-get, która ma większy potencjał do powodowania problemów askubuntu.com/questions/762384/…
MagicLAMP