Wie kann ich MySQL 5.7 auf 5.6 unter Ubuntu 16.04 downgraden?

11

Ich finde, dass MySQL 5.7 ein riesiger Speicherfresser ist und möchte auf MySQL 5.6 zurückgreifen.

Jedes Mal, wenn ich versuche, 5.7 zu deinstallieren und 5.6 zu installieren, erhalte ich einen MySQL-Dienst, der nicht gestartet werden kann. Außerdem muss ich sicherstellen, dass ich alle meine Datenbanken behalte.

Kann mir jemand Schritt für Schritt erklären, wie man MySQL von 5.7 auf 5.6 zurücksetzt?

**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  
Dibs
quelle
Die offiziellen Ubuntu 16.04-Repositorys haben nur 5.7, daher müssen Sie zuerst ein Repository finden, das 5.6 bereitstellt. Vielleicht die offizielle MySQL .
fkraiem
Ich habe bereits das vertrauenswürdige Repo hinzugefügt, um auf MySQL 5.6
Dibs
Sie sollten das nicht tun, zumal es anscheinend 5.6-Pakete für Xenial gibt.
fkraiem
Beispielsweise hat sich das System zum Verwalten von Diensten geändert (Trusty verwendet Upstart, Xenial Systemd), sodass es nicht verwunderlich ist, dass ein Dienst in einem für Trusty erstellten Paket (mit Upstart) nicht in Xenial (mit Systemd) gestartet wird.
fkraiem
Ah wow. Vielleicht scheint deshalb, egal was ich versucht habe, zu funktionieren.
Dibs

Antworten:

6

Machen Sie zuerst eine mysqldumpIhrer Datenbanken (einschließlich information_schema). Dann "stop" mysql "und dies wird alles entfernen, was mit mysql zu tun hat:

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

und dann

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

Warnungen:

  • Ubuntu wechselte mit 16.04 zu systemd. Möglicherweise müssen Sie 16.04 auch mit upstart starten, wenn Sie mysql 5.6 verwenden.
Tyler
quelle
1
Ich bin mir ziemlich sicher, dass $ sudo rm -rf in / var / lib / mysql alle meine Datenbanken umhauen wird.
Dibs
Es wird aber Sie können / var / lib / mysql / sowieso nicht behalten. Sie benötigen einen Speicherauszug Ihrer Datenbank, damit Sie sie neu laden können. Andernfalls würden Sie Einstellungen von 5.7 übernehmen, die in 5.6
Rinzwind
1
Ich sehe einen weiteren Fehler: MySQL muss gestoppt werden, bevor Sie es entfernen. Und noch eine Warnung: Wir sind zwischen 5.6 und 5.7 auf systemd umgestiegen. Kein Dealbreaker, aber erwähnenswert
Rinzwind
@Rinzwind was bedeutet das praktisch re: das systemd ändern? Auch gut zu wissen, dass ich dbs entleeren muss. Ich werde dafür sorgen, dass ich das zuerst mache.
Dibs
3
mysql-client-5.6 ist standardmäßig nicht mehr in apt-get verfügbar. Siehe askubuntu.com/questions/762384/... , wie es zu installieren.
Tony
0

Ich habe das Ubuntu 14.04-Repository hinzugefügt (in Ubuntu 18.04):

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

Ich kann installieren:

sudo apt install mysql-client-5.6
Rahul Thakur
quelle
2
Das ist eine wirklich schlechte Idee . Siehe askubuntu.com/questions/499800/… .
Fosslinux
Ok, um dies zu tun, aber nicht aktualisieren, und folgen Sie mit "-r" entfernen Sie einmal installe d "sudo add-apt-repository -r 'deb archive.ubuntu.com/ubuntu vertrauenswürdiges Universum'" so viel wie es ist schlechte Idee, dies in Ihrem Repo zu belassen, wenn Sie es entfernen, sobald 5.6 installiert ist, denke ich nicht, dass dies eine so schlechte Idee ist wie der obige Kommentar. Die gleiche Antwort hier hat 60 Upvotes, und er hat ein Apt-Get-Update durchgeführt, das mehr Potenzial hat, Probleme zu verursachen. Askubuntu.com/questions/762384/…
MagicLAMP