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

MySQL 5.6にアクセスするための信頼できるレポジトリを既に追加しています
-dibs

特に、Xenial用の5.6パッケージがあるように見えるので、そうすべきではありません。
fkraiem

たとえば、サービスを管理するシステムが変更されたため(Trustyはupstartを使用し、Xenialはsystemdを使用します)、Trusty(upstartを使用)用に作成されたパッケージのサービスがXenial(with systemd)で開始されないことは驚くことではありません。
fkraiem

ああすごい。たぶんこれが、私が何をしようとしてもうまくいくように見える理由です。
ディブ

回答:


6

まず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がすべてのデータベースを吹き飛ばすと確信しています。
DIBS

とにかく/ var / lib / mysql /を保持することはできません。リロードできるように、データベースのダンプが必要です。それ以外の場合は、5.6で無効な設定よりも5.7から設定を選択します
-Rinzwind

1
別の間違いがあります。削除する前にmysqlを停止する必要があります。そして別の警告:5.6と5.7の間でsystemdに切り替えました。ないdealbreakerしかし、言及する価値
Rinzwind

@Rinzwindこれは実際に何を意味するのですか:systemdの変更?DBをダンプする必要があることも知っておくと良いでしょう。最初にそれを確認します。
ディブ

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 upvotesを持っており、彼はより多くの可能性があるapt-getの更新は、問題を引き起こすことがなかったaskubuntu.com/questions/762384/...
MagicLAMP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.