Instale o MySql 5.6 no Ubuntu 16.04

40

Parece que o Ubuntu 16.04 está vindo com o MySQL 5.7, no entanto eu preciso instalar o 5.6.

Quando tento instalá-lo explicitamente sudo apt-get install mysql-server-5.6, recebo o seguinte erro:

Package mysql-server-5.6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  mysql-community-server:i386 mysql-common:i386 mysql-community-server mysql-common percona-xtradb-cluster-server-5.6:i386 percona-server-server-5.6:i386 mysql-testsuite-5.7:i386
  mariadb-server-10.0:i386 percona-xtradb-cluster-server-5.6 percona-server-server-5.6 mysql-testsuite-5.7 mariadb-server-10.0 mysql-server-core-5.7:i386 mysql-server-5.7:i386 mysql-server-core-5.7
  mysql-server-5.7

Existe alguma maneira de instalar o 5.6?

Tarlog
fonte
Esse mysql 5.7.12 é um porco RAM.
Dibs

Respostas:

69

Eu usei a seguinte abordagem:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
sudo apt-get update
sudo apt install mysql-server-5.6 mysql-client-5.6

Se ocorrer um erro durante a execução do último comando, consulte a seção de comentários desta resposta.

basex
fonte
10
Você pode precisar sudo rm /var/lib/mysql/debian-5.7.flagou ele irá abortar comSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn
2
o serviço mysql não inicia corretamente. usando 'systemctl status mysql.service' recebo 'Falha ao iniciar o LSB: Inicie e pare o daemon do servidor de banco de dados mysql'. Isso ocorre porque o repositório da Trusty usa o upstart e o 5.7 usa o systemd?
Jowan sebastian
11
@jowansebastian - Você já descobriu por que isso estava acontecendo? Estou tendo um erro semelhante.
Barrie leitor de
@BarrieReader, desculpe, eu criei uma VM centos para o que estava fazendo e consegui funcionar lá.
Jowan sebastian
+1. Você saberia se existe uma maneira de instalar uma versão específica do MySQL 5.6 como a 5.6.35?
precisa saber é o seguinte
9

Parece que eu consegui fazer isso.

  1. Em Software e atualizações / Outro software adicionado repositório 14.04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Cliente e servidor mysql instalados:

    sudo apt install mysql-server-5.6
    sudo apt install mysql-client-5.6
    

Atualização: Antes de instalar a 5.6, verifique se nenhum outro pacote mysql está presente:

dpkg -l | grep mysql - retorna lista de pacotes mysql.

Use apt-get purge <package name>para limpá-los.

Fonte: atualização 16.04 quebrou o servidor mysql

Tarlog
fonte
11
Boa solução, mas por que você precisa de 5.6 em vez de 5.7?
Uwe Burger
5
5.7 não é compatível com versões anteriores. Alguns SQLs de aplicação que estou trabalhando falhar ...
Tarlog
2
que erro você está tendo? Eu suspeito que seja devido à flag ONLY_FULL_GROUP_BY que está "on" por padrão no MySQL 5.7. Desligue e você pode ficar bem.
Jaydee
Atualmente não me lembro dos detalhes, tentei há quase dois meses. Se bem me lembro, foi sobre o processamento de algumas datas. Talvez análise de datas.
Tarlog
5,7 realmente impõe esquema de tabela
Richard Haven
8

Eu estava enfrentando o mesmo problema e executei etapas simples abaixo:

 sudo apt-get install software-properties-common
 $ sudo add-apt-repository -y ppa:ondrej/mysql-5.6
 $ sudo apt-get update
 $ sudo apt-get install mysql-server-5.6

Solução funcionou para mim Felicidades !!

Ramesh Chand
fonte
Além dessas soluções: Você deve remover essas pastas primeiro: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringE este arquivo:/var/lib/mysql/debian-5.7.flag
3
Para citar ondrej: "não use, quebrado" . Confira aqui launchpad.net/~ondrej
Fractalf
3
dpkg --force-depends -P `dpkg -l |awk '/mysql/{print $2}'`

rm -r /etc/mysql/

apt-get install mysql-server mysql-client
Michal91
fonte
1

Os desenvolvedores do MySQL fornecem pacotes Xenial do MySQL 5.6 em seus próprios repositórios , e isso deve ser preferido em relação à instalação dos pacotes oficiais do Ubuntu Trusty , já que geralmente é melhor instalar pacotes que foram criados para a sua versão do Ubuntu.

Se você já possui pacotes do MySQL Server, desinstale-os primeiro; basta desinstalar tudo o que é mostrado por dpkg -l | grep mysql-server.

Basta baixar e instalar o mysql-apt-configpacote DEB no link anterior. Durante a instalação, ele perguntará qual versão você deseja, para que você possa escolher 5.6. Após a instalação do pacote, sudo apt update && sudo apt install mysql-server-5.6o MySQL Server 5.6 será instalado.

Fkraiem
fonte
3
Isso não funciona, não há nenhuma opção 5.6 versão, apenas 5,7
Frodik
5
Na verdade, parece que, desde que esta resposta foi escrito, MySQL 5.6 suporte foi retirado do mysql-apt-configpacote, o que é estranho, porque ele ainda está listado como suportado na página ligada ...
fkraiem
1

Eu tive o mesmo problema e tentei muitas opções. E eu tive muitos problemas com libdbd-mysql-perl; o sistema disse que não iria instalar essa biblioteca.

Por isso, pensei em instalá-lo com o Aptitude que instala um pacote e corrige todas as dependências.

Se você não tem aptidão, pode obtê-lo assim:sudo apt-get install aptitude

Primeiro tudo o que você precisa para desinstalar o mysql existente. Em seguida, você precisa instalar o pacote que deseja.

sudo aptitude install mysql-server-5.6

A aptidão lhe dá muitas opções, o que fazer. A primeira opção é manter o pacote real. Então pressione (N) o até encontrar a opção que diz fazer o downgrade dos próximos pacotes:

libmysqlclient20 [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.7.13-0ubuntu0.16
mysql-common [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.6.30-1+deb.sury.org

então pressione (Y) es e o aptitude irá instalar o mysql-server-5.6. Aqui está a opção que você deve aceitar:

insira a descrição da imagem aqui

Se depois disso o sistema não puder se conectar ao servidor mysql, você precisará reiniciar o computador.

rebduvid
fonte