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 2016 년

이미 액세스 MySQL의 5.6에 믿을 수있는 REPO을 추가 한
— DIB의

특히 Xenial 용 5.6 패키지가있는 것처럼 보이기 때문에 그렇게하지 않아야합니다.
— fkraiem

예를 들어 서비스 관리 시스템이 변경되었으므로 (Trusty는 upstart를 사용하고 Xenial은 systemd를 사용) Trusty 용 패키지 (upstart 포함)의 서비스가 Xenial (systemd 사용)에서 시작되지 않는 것은 놀라운 일이 아닙니다.
— fkraiem

아와! 어쩌면 이것이 내가 시도한 것이 효과가있는 것처럼 보이는 이유 일 것입니다.
— 찜

답변:


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

경고 :

  • 우분투는 16.04로 시스템으로 전환했습니다. mysql 5.6을 사용할 때 upstart로 16.04를 시작해야 할 수도 있습니다.

1
/ var / lib / mysql의 $ sudo rm -rf가 모든 데이터베이스를 날려 버릴 것이라고 확신합니다.
— 찜

그래도 / var / lib / mysql /을 유지할 수는 없습니다. 다시로드 할 수 있도록 데이터베이스 덤프가 필요합니다. 그렇지 않으면 5.6에서 유효하지 않은 것보다 5.7에서 설정을 선택할 것입니다.
— Rinzwind

1
또 다른 실수가 있습니다. 제거하기 전에 mysql을 중지해야합니다. 그리고 또 다른 경고 : 우리는 5.6에서 5.7 사이의 시스템으로 전환했습니다.
— 거래가

@Rinzwind 이것이 실제적으로 무엇을 의미 하는가 : 체계적인 변화? 또한 DB를 덤프해야한다는 것을 아는 것도 좋습니다. 내가 먼저 해야겠다.
— 찜

3
기본적으로 mysql-client-5.6은 더 이상 apt-get에서 사용할 수 없습니다. 설치 방법 은 askubuntu.com/questions/762384/… 를 참조하십시오 .
— Tony

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"을 따르십시오. 한 번 설치 제거 "sudo add-apt-repository -r 'deb archive.ubuntu.com/ubuntu trusty universe'"만큼 5.6이 설치되면 제거하면 리포지토리에 남겨 두는 것이 좋지 않습니다. 위의 의견만큼 나쁜 생각은 아닙니다. 여기에 같은 대답이 60 개의 찬성 투표를했으며
— MagicLAMP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.