如何在Ubuntu 16.04上将mysql 5.7降级到5.6?


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 '16

我已经添加了可信任的仓库来访问MySQL 5.6
dibs

您不应该这样做,尤其是因为Xenial似乎有5.6个软件包。
fkraiem '16

例如,用于管理服务的系统已更改(Trusty使用upstart,Xenial使用systemd),因此为Trusty(带有upstart)制作的程序包中的服务不会在Xenial(带有systemd)中启动就不足为奇了。
fkraiem

哇 也许这就是为什么无论我尝试过什么似乎都能奏效的原因。
DIBS

Answers:


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使用16.04切换到systemd。使用mysql 5.6时,您可能还需要用upstart启动16.04。

1
我很确定/ var / lib / mysql上的$ sudo rm -rf会炸毁我的所有数据库。
2013年

它将,但是您仍然不能保留/ var / lib / mysql /。您需要转储数据库,以便可以重新加载它。否则,您将从5.7中选取比5.6中无效的设置
Rinzwind '16

1
我看到另一个错误:删除MySQL之前,必须先将其停止。另一个警告:我们在5.6和5.7之间切换到systemd。不是破坏交易者,但值得一提
Rinzwind '16

@Rinzwind这实际上意味着什么:系统更改?也很高兴知道我必须转储数据库。我会确保先这样做。
2013年

3
默认情况下,apt-get中不再提供mysql-client-5.6。有关如何安装的信息,请参见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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.